Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes

TCP_NSC Class Reference

#include <TCP_NSC.h>

List of all members.

Public Member Functions

 TCP_NSC ()
virtual ~TCP_NSC ()
virtual void send_callback (const void *, int)
virtual void wakeup ()
virtual void gettime (unsigned int *, unsigned int *)

Static Public Attributes

static bool testingS
static bool logverboseS

Protected Types

enum  { MAX_SEND_BYTES = 500000 }
typedef std::map< int,
TCP_NSC_Connection
TcpAppConnMap
typedef std::map< u_int32_t,
IPvXAddress
Nsc2RemoteMap
typedef std::map< IPvXAddress,
u_int32_t
Remote2NscMap
typedef std::map
< TCP_NSC_Connection::SockPair,
int > 
SockPair2ConnIdMap

Protected Member Functions

virtual void initialize ()
virtual void handleMessage (cMessage *msgP)
virtual void finish ()
void changeAddresses (TCP_NSC_Connection &connP, const TCP_NSC_Connection::SockPair &inetSockPairP, const TCP_NSC_Connection::SockPair &nscSockPairP)
TCP_NSC_ConnectionfindAppConn (int connIdP)
TCP_NSC_ConnectionfindConnByInetSockPair (TCP_NSC_Connection::SockPair const &sockPairP)
TCP_NSC_ConnectionfindConnByNscSockPair (TCP_NSC_Connection::SockPair const &sockPairP)
virtual void updateDisplayString ()
void removeConnection (int connIdP)
void printConnBrief (TCP_NSC_Connection &connP)
void loadStack (const char *stacknameP, int bufferSizeP)
void handleAppMessage (cMessage *msgP)
void handleIpInputMessage (TCPSegment *tcpsegP)
void sendToIP (const void *dataP, int lenP)
void processAppCommand (TCP_NSC_Connection &connP, cMessage *msgP)
void process_OPEN_ACTIVE (TCP_NSC_Connection &connP, TCPCommand *tcpCommandP, cMessage *msgP)
void process_OPEN_PASSIVE (TCP_NSC_Connection &connP, TCPCommand *tcpCommandP, cMessage *msgP)
void process_SEND (TCP_NSC_Connection &connP, TCPCommand *tcpCommandP, cPacket *msgP)
void process_CLOSE (TCP_NSC_Connection &connP, TCPCommand *tcpCommandP, cMessage *msgP)
void process_ABORT (TCP_NSC_Connection &connP, TCPCommand *tcpCommandP, cMessage *msgP)
void process_STATUS (TCP_NSC_Connection &connP, TCPCommand *tcpCommandP, cMessage *msgP)
void do_SEND (TCP_NSC_Connection &connP)
void do_SEND_all ()
u_int32_t mapRemote2Nsc (IPvXAddress const &addrP)
IPvXAddress const & mapNsc2Remote (u_int32_t nscAddrP)
void sendEstablishedMsg (TCP_NSC_Connection &connP)
void decode_tcpip (const void *, int)
void decode_tcp (const void *, int)

Protected Attributes

TcpAppConnMap tcpAppConnMapM
SockPair2ConnIdMap inetSockPair2ConnIdMapM
SockPair2ConnIdMap nscSockPair2ConnIdMapM
Nsc2RemoteMap nsc2RemoteMapM
Remote2NscMap remote2NscMapM
INetStack * pStackM
cMessage * pNsiTimerM
bool isAliveM
int curAddrCounterM
TCP_NSC_ConnectioncurConnM
cOutVector * sndWndVector
cOutVector * rcvWndVector
cOutVector * rcvAdvVector
cOutVector * sndNxtVector
cOutVector * sndAckVector
cOutVector * rcvSeqVector
cOutVector * rcvAckVector
cOutVector * unackedVector
cOutVector * dupAcksVector
cOutVector * pipeVector
cOutVector * sndSacksVector
cOutVector * rcvSacksVector
cOutVector * rcvOooSegVector
cOutVector * sackedBytesVector
cOutVector * tcpRcvQueueBytesVector
cOutVector * tcpRcvQueueDropsVector

Static Protected Attributes

static const IPvXAddress localInnerIpS
static const IPvXAddress localInnerGwS
static const IPvXAddress localInnerMaskS
static const IPvXAddress remoteFirstInnerIpS
static const char * stackNameParamNameS
static const char * bufferSizeParamNameS

Detailed Description

Encapsulates a Network Simulation Cradle (NSC) instance.

Definition at line 41 of file TCP_NSC.h.


Member Typedef Documentation

typedef std::map<u_int32_t, IPvXAddress> TCP_NSC::Nsc2RemoteMap [protected]

Definition at line 124 of file TCP_NSC.h.

typedef std::map<IPvXAddress, u_int32_t> TCP_NSC::Remote2NscMap [protected]

Definition at line 125 of file TCP_NSC.h.

typedef std::map<TCP_NSC_Connection::SockPair, int> TCP_NSC::SockPair2ConnIdMap [protected]

Definition at line 126 of file TCP_NSC.h.

typedef std::map<int,TCP_NSC_Connection> TCP_NSC::TcpAppConnMap [protected]

Definition at line 123 of file TCP_NSC.h.


Member Enumeration Documentation

anonymous enum [protected]
Enumerator:
MAX_SEND_BYTES 

Definition at line 44 of file TCP_NSC.h.

{MAX_SEND_BYTES = 500000};


Constructor & Destructor Documentation

TCP_NSC::TCP_NSC (  ) 
virtual TCP_NSC::~TCP_NSC (  )  [virtual]

Member Function Documentation

void TCP_NSC::changeAddresses ( TCP_NSC_Connection connP,
const TCP_NSC_Connection::SockPair inetSockPairP,
const TCP_NSC_Connection::SockPair nscSockPairP 
) [protected]
void TCP_NSC::decode_tcp ( const void *  ,
int   
) [protected]
void TCP_NSC::decode_tcpip ( const void *  ,
int   
) [protected]
void TCP_NSC::do_SEND ( TCP_NSC_Connection connP  )  [protected]
void TCP_NSC::do_SEND_all (  )  [protected]
TCP_NSC_Connection* TCP_NSC::findAppConn ( int  connIdP  )  [protected]
TCP_NSC_Connection* TCP_NSC::findConnByInetSockPair ( TCP_NSC_Connection::SockPair const &  sockPairP  )  [protected]
TCP_NSC_Connection* TCP_NSC::findConnByNscSockPair ( TCP_NSC_Connection::SockPair const &  sockPairP  )  [protected]
virtual void TCP_NSC::finish (  )  [protected, virtual]
virtual void TCP_NSC::gettime ( unsigned int *  ,
unsigned int *   
) [virtual]
void TCP_NSC::handleAppMessage ( cMessage *  msgP  )  [protected]
void TCP_NSC::handleIpInputMessage ( TCPSegment tcpsegP  )  [protected]
virtual void TCP_NSC::handleMessage ( cMessage *  msgP  )  [protected, virtual]
virtual void TCP_NSC::initialize (  )  [protected, virtual]
void TCP_NSC::loadStack ( const char *  stacknameP,
int  bufferSizeP 
) [protected]
IPvXAddress const& TCP_NSC::mapNsc2Remote ( u_int32_t  nscAddrP  )  [protected]
u_int32_t TCP_NSC::mapRemote2Nsc ( IPvXAddress const &  addrP  )  [protected]
void TCP_NSC::printConnBrief ( TCP_NSC_Connection connP  )  [protected]
void TCP_NSC::process_ABORT ( TCP_NSC_Connection connP,
TCPCommand *  tcpCommandP,
cMessage *  msgP 
) [protected]
void TCP_NSC::process_CLOSE ( TCP_NSC_Connection connP,
TCPCommand *  tcpCommandP,
cMessage *  msgP 
) [protected]
void TCP_NSC::process_OPEN_ACTIVE ( TCP_NSC_Connection connP,
TCPCommand *  tcpCommandP,
cMessage *  msgP 
) [protected]
void TCP_NSC::process_OPEN_PASSIVE ( TCP_NSC_Connection connP,
TCPCommand *  tcpCommandP,
cMessage *  msgP 
) [protected]
void TCP_NSC::process_SEND ( TCP_NSC_Connection connP,
TCPCommand *  tcpCommandP,
cPacket *  msgP 
) [protected]
void TCP_NSC::process_STATUS ( TCP_NSC_Connection connP,
TCPCommand *  tcpCommandP,
cMessage *  msgP 
) [protected]
void TCP_NSC::processAppCommand ( TCP_NSC_Connection connP,
cMessage *  msgP 
) [protected]
void TCP_NSC::removeConnection ( int  connIdP  )  [protected]
virtual void TCP_NSC::send_callback ( const void *  ,
int   
) [virtual]
void TCP_NSC::sendEstablishedMsg ( TCP_NSC_Connection connP  )  [protected]
void TCP_NSC::sendToIP ( const void *  dataP,
int  lenP 
) [protected]
virtual void TCP_NSC::updateDisplayString (  )  [protected, virtual]
virtual void TCP_NSC::wakeup (  )  [virtual]

Member Data Documentation

const char* TCP_NSC::bufferSizeParamNameS [static, protected]

Definition at line 159 of file TCP_NSC.h.

int TCP_NSC::curAddrCounterM [protected]

Definition at line 150 of file TCP_NSC.h.

Definition at line 151 of file TCP_NSC.h.

cOutVector* TCP_NSC::dupAcksVector [protected]

Definition at line 171 of file TCP_NSC.h.

Definition at line 130 of file TCP_NSC.h.

bool TCP_NSC::isAliveM [protected]

Definition at line 148 of file TCP_NSC.h.

const IPvXAddress TCP_NSC::localInnerGwS [static, protected]

Definition at line 154 of file TCP_NSC.h.

const IPvXAddress TCP_NSC::localInnerIpS [static, protected]

Definition at line 153 of file TCP_NSC.h.

const IPvXAddress TCP_NSC::localInnerMaskS [static, protected]

Definition at line 155 of file TCP_NSC.h.

bool TCP_NSC::logverboseS [static]

Definition at line 145 of file TCP_NSC.h.

Definition at line 133 of file TCP_NSC.h.

Definition at line 131 of file TCP_NSC.h.

cOutVector* TCP_NSC::pipeVector [protected]

Definition at line 172 of file TCP_NSC.h.

cMessage* TCP_NSC::pNsiTimerM [protected]

Definition at line 138 of file TCP_NSC.h.

INetStack* TCP_NSC::pStackM [protected]

Definition at line 136 of file TCP_NSC.h.

cOutVector* TCP_NSC::rcvAckVector [protected]

Definition at line 168 of file TCP_NSC.h.

cOutVector* TCP_NSC::rcvAdvVector [protected]

Definition at line 164 of file TCP_NSC.h.

cOutVector* TCP_NSC::rcvOooSegVector [protected]

Definition at line 175 of file TCP_NSC.h.

cOutVector* TCP_NSC::rcvSacksVector [protected]

Definition at line 174 of file TCP_NSC.h.

cOutVector* TCP_NSC::rcvSeqVector [protected]

Definition at line 167 of file TCP_NSC.h.

cOutVector* TCP_NSC::rcvWndVector [protected]

Definition at line 163 of file TCP_NSC.h.

Definition at line 134 of file TCP_NSC.h.

const IPvXAddress TCP_NSC::remoteFirstInnerIpS [static, protected]

Definition at line 156 of file TCP_NSC.h.

cOutVector* TCP_NSC::sackedBytesVector [protected]

Definition at line 177 of file TCP_NSC.h.

cOutVector* TCP_NSC::sndAckVector [protected]

Definition at line 166 of file TCP_NSC.h.

cOutVector* TCP_NSC::sndNxtVector [protected]

Definition at line 165 of file TCP_NSC.h.

cOutVector* TCP_NSC::sndSacksVector [protected]

Definition at line 173 of file TCP_NSC.h.

cOutVector* TCP_NSC::sndWndVector [protected]

Definition at line 162 of file TCP_NSC.h.

const char* TCP_NSC::stackNameParamNameS [static, protected]

Definition at line 158 of file TCP_NSC.h.

Definition at line 129 of file TCP_NSC.h.

cOutVector* TCP_NSC::tcpRcvQueueBytesVector [protected]

Definition at line 178 of file TCP_NSC.h.

cOutVector* TCP_NSC::tcpRcvQueueDropsVector [protected]

Definition at line 179 of file TCP_NSC.h.

bool TCP_NSC::testingS [static]

Definition at line 144 of file TCP_NSC.h.

cOutVector* TCP_NSC::unackedVector [protected]

Definition at line 169 of file TCP_NSC.h.


The documentation for this class was generated from the following file: