Hey guys I have this code (Aggregator.cc) that is supposed to receive the messages sent from Temperature.cc and Heartrate.cc and concatenate them together however it is not doing so please help. In aggregator.cc it keeps telling me that tmsg and hmasg are not defined in the scope. Isn't aggregator supposed to have received the messages.
Temperature.cc
#include "Temperature.h"
Define_Module(Temperature);
void Temperature::initialize()
{
// TODO - Generated method body
cMessage *tmsg = new cMessage("hi");
send(tmsg,"temperatured");
}
void Temperature::handleMessage(cMessage *msg)
{
// TODO - Generated method body
}
Heartrate.cc
#include "Heartrate.h"
Define_Module(Heartrate);
void Heartrate::initialize()
{
// TODO - Generated method body
cMessage *hmsg = new cMessage("hello");
send(hmsg,"heartrateexit");
}
void Heartrate::handleMessage(cMessage *msg)
{
// TODO - Generated method body
}
Aggregator.cc
#include "Aggregator.h"
#include "Temperature.h"
#include "Heartrate.h"
Define_Module(Aggregator);
void Aggregator::initialize()
{
// TODO - Generated method body
}
void Aggregator::handleMessage(cMessage *msg)
{
// TODO - Generated method body
cPacket *data = new cPacket("data");
data ->addPar(tmsg); // added parameter of type cMessage
data ->addPar(hmsg); // added parameter of type cMessage
data->setByteLength(20);
cPacket *udp = new cPacket("data1"); // subclassed from cPacket
udp->setByteLength(30);
udp->encapsulate(data);
EV << udp->getByteLength();
EV << udp;
cPacket *payload = udp->decapsulate();
EV << payload;
}
network.ned
network Network
{
submodules:
aggregator: Aggregator {
@display("p=128,147");
}
heartrate: Heartrate {
@display("p=40,112");
}
temperature: Temperature {
@display("p=40,173");
}
connections:
temperature.tempexit --> aggregator.data;
heartrate.heartrateexit --> aggregator.data1;
}