Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

UDPAppBase Class Reference

#include <UDPAppBase.h>

Inheritance diagram for UDPAppBase:

UDPBasicApp UDPSink UDPVideoStreamCli UDPVideoStreamSvr UDPEchoApp List of all members.

Detailed Description

Contains a few utility functions as protected methods, for sending and receiving UDP packets.


Protected Member Functions

virtual void bindToPort (int port)
virtual void sendToUDP (cMessage *msg, int srcPort, const IPvXAddress &destAddr, int destPort)
virtual void printPacket (cMessage *msg)


Member Function Documentation

void UDPAppBase::bindToPort int  port  )  [protected, virtual]
 

Tells UDP we want to get all packets arriving on the given port

00026 {
00027     EV << "Binding to UDP port " << port << endl;
00028 
00029     // TODO UDPAppBase should be ported to use UDPSocket sometime, but for now
00030     // we just manage the UDP socket by hand...
00031     cMessage *msg = new cMessage("UDP_C_BIND", UDP_C_BIND);
00032     UDPControlInfo *ctrl = new UDPControlInfo();
00033     ctrl->setSrcPort(port);
00034     ctrl->setSockId(UDPSocket::generateSocketId());
00035     msg->setControlInfo(ctrl);
00036     send(msg, "to_udp");
00037 }

void UDPAppBase::printPacket cMessage *  msg  )  [protected, virtual]
 

Prints a brief about packets having an attached UDPControlInfo (i.e. those which just arrived from UDP, or about to be send to UDP).

00057 {
00058     UDPControlInfo *ctrl = check_and_cast<UDPControlInfo *>(msg->controlInfo());
00059 
00060     IPvXAddress srcAddr = ctrl->srcAddr();
00061     IPvXAddress destAddr = ctrl->destAddr();
00062     int srcPort = ctrl->srcPort();
00063     int destPort = ctrl->destPort();
00064 
00065     ev  << msg << "  (" << msg->byteLength() << " bytes)" << endl;
00066     ev  << srcAddr << " :" << srcPort << " --> " << destAddr << ":" << destPort << endl;
00067 }

void UDPAppBase::sendToUDP cMessage *  msg,
int  srcPort,
const IPvXAddress destAddr,
int  destPort
[protected, virtual]
 

Sends a packet over UDP

00040 {
00041     // send message to UDP, with the appropriate control info attached
00042     msg->setKind(UDP_C_DATA);
00043 
00044     UDPControlInfo *ctrl = new UDPControlInfo();
00045     ctrl->setSrcPort(srcPort);
00046     ctrl->setDestAddr(destAddr);
00047     ctrl->setDestPort(destPort);
00048     msg->setControlInfo(ctrl);
00049 
00050     EV << "Sending packet: ";
00051     printPacket(msg);
00052 
00053     send(msg, "to_udp");
00054 }


The documentation for this class was generated from the following files:
Generated on Sat Apr 1 20:52:25 2006 for INET Framework for OMNeT++/OMNEST by  doxygen 1.4.1