Page MenuHomePhorge

MasterAgentHandlerOfAgent.cpp
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

MasterAgentHandlerOfAgent.cpp

#include "MasterAgentHandlerOfAgent.h"
#include <cstdlib>
#define MAX_BUFFER_LENGTH_MASTERAGENT_HANDLER 300
MasterAgentHandlerOfAgent :: MasterAgentHandlerOfAgent() {
masterAgentSlotOfAgent = NULL;
maxBufferLength = MAX_BUFFER_LENGTH_MASTERAGENT_HANDLER;
}
bool MasterAgentHandlerOfAgent :: mount_masterAgentIntoSlaveAgentSlot(Channel* comPort) {
masterAgentSlotOfAgent = new SlotOfAgent();
if(masterAgentSlotOfAgent != NULL) {
if(masterAgentSlotOfAgent->set_comPort(comPort)) {
return true;
}
}
delete masterAgentSlotOfAgent;
return false;
}
SlotOfAgent* MasterAgentHandlerOfAgent :: get_masterAgentSlotAddress() {
return masterAgentSlotOfAgent;
}
bool MasterAgentHandlerOfAgent :: demount_masterAgent() {
if(masterAgentSlotOfAgent != NULL) {
delete masterAgentSlotOfAgent;
masterAgentSlotOfAgent = NULL;
return true;
}
return false;
}
bool MasterAgentHandlerOfAgent :: set_maxBufferLength(unsigned int maxBufferLength) {
if(maxBufferLength <= MAX_BUFFER_LENGTH_MASTERAGENT_HANDLER) {
this->maxBufferLength = maxBufferLength;
return true;
}
return false;
}
unsigned int MasterAgentHandlerOfAgent :: get_maxBufferLength() {
return maxBufferLength;
}
bool MasterAgentHandlerOfAgent :: pass_msgToSendBuffer(float msg) {
//TODO: make message handler and shift following lines to it!
//TODO: try/catch for pushback function!
Message* message = new Message(msg);
lSendBuffer.push_back(message);
return false;
}
bool MasterAgentHandlerOfAgent :: pass_msgToSendBuffer(int msg) {
//TODO: make message handler and shift following lines to it!
//TODO: try/catch for pushback function!
Message* message = new Message(msg);
lSendBuffer.push_back(message);
return false;
}
unsigned int MasterAgentHandlerOfAgent :: get_avlSendBuffer() {
return maxBufferLength - get_occSendBuffer();
}
unsigned int MasterAgentHandlerOfAgent :: get_occSendBuffer() {
return lSendBuffer.size();
}
bool MasterAgentHandlerOfAgent :: send_msgs() {
if(masterAgentSlotOfAgent != NULL) {
Channel* comPort = masterAgentSlotOfAgent->get_comPort();
if(comPort != NULL) {
//TODO: also other sending mode... current MODE: only send it when all packets can be sended
if(get_occSendBuffer() <= comPort->get_avlInputBufferUp()) {
//for(unsigned int i=0; i<get_occSendBuffer(); i++)
while(get_occSendBuffer() > 0){
//TODO: make message handler and shift following lines to it!
//TODO: try/catch for pushback function!
comPort->send_MsgUp(lSendBuffer.front());
lSendBuffer.pop_front();
}
}
}
}
return false;
}

File Metadata

Mime Type
text/x-c
Expires
Sun, Mar 1, 9:30 PM (1 d, 2 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
286374
Default Alt Text
MasterAgentHandlerOfAgent.cpp (2 KB)

Event Timeline