#include <TCPSinkApp.h>
Protected Member Functions | |
| virtual void | initialize () |
| virtual void | handleMessage (cMessage *msg) |
| virtual void | finish () |
Protected Attributes | |
| long | bytesRcvd |
Accepts any number of incoming connections, and discards whatever arrives on them.
Definition at line 26 of file TCPSinkApp.h.
| void TCPSinkApp::finish | ( | ) | [protected, virtual] |
Definition at line 63 of file TCPSinkApp.cc.
{
recordScalar("bytesRcvd", bytesRcvd);
}
| void TCPSinkApp::handleMessage | ( | cMessage * | msg | ) | [protected, virtual] |
Definition at line 36 of file TCPSinkApp.cc.
{
if (msg->getKind()==TCP_I_PEER_CLOSED)
{
// we close too
msg->setKind(TCP_C_CLOSE);
send(msg, "tcpOut");
}
else if (msg->getKind()==TCP_I_DATA || msg->getKind()==TCP_I_URGENT_DATA)
{
bytesRcvd += PK(msg)->getByteLength();
delete msg;
if (ev.isGUI())
{
char buf[32];
sprintf(buf, "rcvd: %ld bytes", bytesRcvd);
getDisplayString().setTagArg("t",0,buf);
}
}
else
{
// must be data or some kind of indication -- can be dropped
delete msg;
}
}
| void TCPSinkApp::initialize | ( | ) | [protected, virtual] |
Definition at line 22 of file TCPSinkApp.cc.
{
const char *address = par("address");
int port = par("port");
bytesRcvd = 0;
WATCH(bytesRcvd);
TCPSocket socket;
socket.setOutputGate(gate("tcpOut"));
socket.bind(address[0] ? IPvXAddress(address) : IPvXAddress(), port);
socket.listen();
}
long TCPSinkApp::bytesRcvd [protected] |
Definition at line 29 of file TCPSinkApp.h.
Referenced by finish(), handleMessage(), and initialize().
1.7.1