Page MenuHomePhorge

MasterAgentHandlerOfAgent.cpp
No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None

MasterAgentHandlerOfAgent.cpp

#include "MasterAgentHandlerOfAgent.h"
#include "instruction_set_architecture.h"
#include <iostream>
#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 MasterAgentSlotOfAgent();
if(masterAgentSlotOfAgent != NULL) {
if(masterAgentSlotOfAgent->set_comPort(comPort)) {
return true;
}
}
delete masterAgentSlotOfAgent;
return false;
}
MasterAgentSlotOfAgent* 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();
//printf("send something\n");
}
}
}
}
return false;
}
bool MasterAgentHandlerOfAgent::read_masterAgentValues() {
Channel* channel = masterAgentSlotOfAgent->get_comPort();
if (channel != NULL) {
int msg;
if (channel->get_MsgDown(&msg)) {
if (ISA_SuggestedAbstractedSensoryDataAndReliability) {
//printf("habe das richtige empfangen!\n");
while (channel->get_MsgDown(&msg)) {
float inputValue;
if (channel->get_MsgDown(&inputValue)) {
masterAgentSlotOfAgent->addSuggestedScore(msg, inputValue);
//cout << "added!!!!!!!!!!!!!" << endl;
}
else {
std::cout << "check das mal ab" << endl;
getchar();
return false;
}
}
//slaveAgentSlotOfAgent->increaseTimeSinceScoreChange();
return true;
}
}
}
return false;
}
void MasterAgentHandlerOfAgent::clearSuggestedScores() {
masterAgentSlotOfAgent->clearSuggestedScores();
//possibleScores.clear();
}
vector<PossibleScore*>* MasterAgentHandlerOfAgent::getSuggestedScores() {
return masterAgentSlotOfAgent->getSuggestedScores();
}

File Metadata

Mime Type
text/x-c
Expires
Sat, May 30, 11:35 PM (12 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
330419
Default Alt Text
MasterAgentHandlerOfAgent.cpp (3 KB)

Event Timeline