TCPStateVariables Class Reference

#include <TCPConnection.h>

Inheritance diagram for TCPStateVariables:

DumbTCPStateVariables TCPBaseAlgStateVariables TCPTahoeRenoFamilyStateVariables List of all members.

Detailed Description

Contains state variables ("TCB") for TCP.

TCPStateVariables is effectively a "struct" -- it only contains public data members. (Only declared as a class so that we can use cPolymorphic as base class and make it possible to inspect it in Tkenv.)

TCPStateVariables only contains variables needed to implement the "base" (RFC 793) TCP. More advanced TCP variants are encapsulated into TCPAlgorithm subclasses which can have their own state blocks, subclassed from TCPStateVariables. See TCPAlgorithm::createStateVariables().


Public Member Functions

 TCPStateVariables ()
virtual std::string info () const
virtual std::string detailedInfo () const

Public Attributes

bool active
bool fork
uint snd_mss
uint32 snd_una
uint32 snd_nxt
uint32 snd_max
uint snd_wnd
uint32 snd_up
uint32 snd_wl1
uint32 snd_wl2
uint32 iss
uint32 rcv_nxt
uint32 rcv_wnd
uint32 rcv_up
uint32 irs
short dupacks
int syn_rexmit_count
simtime_t syn_rexmit_timeout
bool fin_ack_rcvd
bool send_fin
uint32 snd_fin_seq
bool fin_rcvd
uint32 rcv_fin_seq


Constructor & Destructor Documentation

TCPStateVariables::TCPStateVariables (  ) 

00032 {
00033     // set everything to 0 -- real init values will be set manually
00034     active = false;
00035     fork = false;
00036     snd_mss = -1; // will be set from configureStateVariables()
00037     snd_una = 0;
00038     snd_nxt = 0;
00039     snd_max = 0;
00040     snd_wnd = 0;
00041     snd_up = 0;
00042     snd_wl1 = 0;
00043     snd_wl2 = 0;
00044     iss = 0;
00045     rcv_nxt = 0;
00046     rcv_wnd = -1; // will be set from configureStateVariables()
00047     rcv_up = 0;
00048     irs = 0;
00049 
00050     dupacks = 0;
00051 
00052     syn_rexmit_count = 0;
00053     syn_rexmit_timeout = 0;
00054 
00055     fin_ack_rcvd = false;
00056     send_fin = false;
00057     snd_fin_seq = 0;
00058     fin_rcvd = false;
00059     rcv_fin_seq = 0;
00060 
00061 }


Member Function Documentation

std::string TCPStateVariables::detailedInfo (  )  const [virtual]

Reimplemented in TCPBaseAlgStateVariables, and TCPTahoeRenoFamilyStateVariables.

00076 {
00077     std::stringstream out;
00078     out << "active = " << active << "\n";
00079     out << "snd_mss = " << snd_mss << "\n";
00080     out << "snd_una = " << snd_una << "\n";
00081     out << "snd_nxt = " << snd_nxt << "\n";
00082     out << "snd_max = " << snd_max << "\n";
00083     out << "snd_wnd = " << snd_wnd << "\n";
00084     out << "snd_up = " << snd_up << "\n";
00085     out << "snd_wl1 = " << snd_wl1 << "\n";
00086     out << "snd_wl2 = " << snd_wl2 << "\n";
00087     out << "iss = " << iss << "\n";
00088     out << "rcv_nxt = " << rcv_nxt << "\n";
00089     out << "rcv_wnd = " << rcv_wnd << "\n";
00090     out << "rcv_up = " << rcv_up << "\n";
00091     out << "irs = " << irs << "\n";
00092     out << "fin_ack_rcvd = " << fin_ack_rcvd << "\n";
00093     return out.str();
00094 }

std::string TCPStateVariables::info (  )  const [virtual]

Reimplemented in TCPBaseAlgStateVariables, and TCPTahoeRenoFamilyStateVariables.

00064 {
00065     std::stringstream out;
00066     out <<  "snd_una=" << snd_una;
00067     out << " snd_nxt=" << snd_nxt;
00068     out << " snd_max=" << snd_max;
00069     out << " snd_wnd=" << snd_wnd;
00070     out << " rcv_nxt=" << rcv_nxt;
00071     out << " rcv_wnd=" << rcv_wnd;
00072     return out.str();
00073 }


Member Data Documentation

bool TCPStateVariables::active

short TCPStateVariables::dupacks

bool TCPStateVariables::fin_ack_rcvd

bool TCPStateVariables::fin_rcvd

bool TCPStateVariables::fork

uint32 TCPStateVariables::irs

uint32 TCPStateVariables::iss

uint32 TCPStateVariables::rcv_fin_seq

uint32 TCPStateVariables::rcv_nxt

uint32 TCPStateVariables::rcv_up

uint32 TCPStateVariables::rcv_wnd

bool TCPStateVariables::send_fin

uint32 TCPStateVariables::snd_fin_seq

uint32 TCPStateVariables::snd_max

uint TCPStateVariables::snd_mss

uint32 TCPStateVariables::snd_nxt

uint32 TCPStateVariables::snd_una

uint32 TCPStateVariables::snd_up

uint32 TCPStateVariables::snd_wl1

uint32 TCPStateVariables::snd_wl2

uint TCPStateVariables::snd_wnd

int TCPStateVariables::syn_rexmit_count

simtime_t TCPStateVariables::syn_rexmit_timeout


The documentation for this class was generated from the following files:
Generated on Wed Apr 4 13:20:24 2007 for INET Framework for OMNeT++/OMNEST by  doxygen 1.4.7