TransportAddress.h File Reference

#include <oversim_mapset.h>
#include <omnetpp.h>
#include <IPvXAddress.h>

Go to the source code of this file.

Classes

class  TransportAddress
 This class implements a common transport address. More...
class  TransportAddress::hashFcn
 defines a hash function for TransportAddress More...

Typedefs

typedef std::vector
< TransportAddress
TransportAddressVector

Functions

void doPacking (cCommBuffer *buf, TransportAddress &addr)
 netPack for TransportAddress
void doUnpacking (cCommBuffer *buf, TransportAddress &addr)
 netUnpack for TransportAddress

Detailed Description

Author:
Markus Mauch
Sebastian Mies
Ingmar Baumgart

Definition in file TransportAddress.h.


Typedef Documentation

Definition at line 35 of file TransportAddress.h.


Function Documentation

void doPacking ( cCommBuffer *  buf,
TransportAddress addr 
) [inline]

netPack for TransportAddress

Parameters:
buf the buffer
addr the TransportAddress to serialise

Definition at line 302 of file TransportAddress.h.

00303 {
00304     doPacking(buf, addr.getAddress());
00305     doPacking(buf, addr.getPort());
00306     doPacking(buf, static_cast<uint8_t>(addr.getNatType()));
00307     doPacking(buf, static_cast<uint8_t>(addr.getSourceRouteSize()));
00308     for (size_t i = 0; i < addr.getSourceRouteSize(); i++) {
00309         // TODO: ugly const_cast should be avoided
00310         doPacking(buf, const_cast<TransportAddress&>(addr.getSourceRoute()[i]));
00311     }
00312 }

void doUnpacking ( cCommBuffer *  buf,
TransportAddress addr 
) [inline]

netUnpack for TransportAddress

Parameters:
buf the buffer
addr the TransportAddress to unserialise

Definition at line 320 of file TransportAddress.h.

00321 {
00322     IPvXAddress ip;
00323     int port;
00324     uint8_t natType = 0;
00325     doUnpacking(buf, ip);
00326     doUnpacking(buf, port);
00327     doUnpacking(buf, natType);
00328     addr.setAddress(ip, port, static_cast<TransportAddress::NatType>(natType));
00329 
00330     uint8_t sourceRouteSize;
00331     TransportAddress sourceRouteEntry;
00332     doUnpacking(buf, sourceRouteSize);
00333     for (size_t i = 0; i < sourceRouteSize; i++) {
00334         doUnpacking(buf, sourceRouteEntry);
00335         addr.appendSourceRoute(sourceRouteEntry);
00336     }
00337 }

Generated on Wed May 26 16:21:15 2010 for OverSim by  doxygen 1.6.3