|
INET Framework for OMNeT++/OMNEST
|
#include <AnsaIPTrafGen.h>
Protected Member Functions | |
| virtual void | printPacket (cPacket *msg) |
| virtual void | processPacket (cPacket *msg) |
| virtual void | initialize () |
| virtual void | handleMessage (cMessage *msg) |
Protected Attributes | |
| int | numReceived |
Consumes and prints packets received from the IP module. See NED for more info.
Definition at line 33 of file AnsaIPTrafGen.h.
| void AnsaIPTrafSink::handleMessage | ( | cMessage * | msg | ) | [protected, virtual] |
Reimplemented in AnsaIPTrafGen.
Definition at line 37 of file AnsaIPTrafGen.cc.
{
processPacket(check_and_cast<cPacket *>(msg));
if (ev.isGUI())
{
char buf[32];
sprintf(buf, "rcvd: %d pks", numReceived);
getDisplayString().setTagArg("t",0,buf);
}
}
| void AnsaIPTrafSink::initialize | ( | ) | [protected, virtual] |
Definition at line 31 of file AnsaIPTrafGen.cc.
Referenced by AnsaIPTrafGen::initialize().
{
numReceived = 0;
WATCH(numReceived);
}
| void AnsaIPTrafSink::printPacket | ( | cPacket * | msg | ) | [protected, virtual] |
Definition at line 50 of file AnsaIPTrafGen.cc.
Referenced by processPacket(), and AnsaIPTrafGen::sendPacket().
{
IPvXAddress src, dest;
int protocol = -1;
if (dynamic_cast<IPControlInfo *>(msg->getControlInfo())!=NULL)
{
IPControlInfo *ctrl = (IPControlInfo *)msg->getControlInfo();
src = ctrl->getSrcAddr();
dest = ctrl->getDestAddr();
protocol = ctrl->getProtocol();
}
else if (dynamic_cast<IPv6ControlInfo *>(msg->getControlInfo())!=NULL)
{
IPv6ControlInfo *ctrl = (IPv6ControlInfo *)msg->getControlInfo();
src = ctrl->getSrcAddr();
dest = ctrl->getDestAddr();
protocol = ctrl->getProtocol();
}
ev << msg << endl;
ev << "Payload length: " << msg->getByteLength() << " bytes" << endl;
if (protocol!=-1)
ev << "src: " << src << " dest: " << dest << " protocol=" << protocol << "\n";
}
| void AnsaIPTrafSink::processPacket | ( | cPacket * | msg | ) | [protected, virtual] |
Definition at line 75 of file AnsaIPTrafGen.cc.
Referenced by handleMessage(), and AnsaIPTrafGen::handleMessage().
{
EV << "Received packet: ";
printPacket(msg);
std::cout << "Arrive: " << msg->getFullName() << " at time = " << msg->getArrivalTime() << endl;
delete msg;
numReceived++;
}
int AnsaIPTrafSink::numReceived [protected] |
Definition at line 36 of file AnsaIPTrafGen.h.
Referenced by handleMessage(), AnsaIPTrafGen::handleMessage(), initialize(), and processPacket().