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, 6:29 PM (1 d, 19 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
283028
Default Alt Text
MasterAgentHandlerOfAgent.cpp (2 KB)

Event Timeline