#include <TCPConnection_old.h>
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 |
bool | afterRto |
uint32 | last_ack_sent |
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().
Definition at line 147 of file TCPConnection_old.h.
TCPStateVariables::TCPStateVariables | ( | ) |
Definition at line 31 of file old/TCPConnectionBase.cc.
{ // set everything to 0 -- real init values will be set manually active = false; fork = false; snd_mss = -1; // will be set from configureStateVariables() snd_una = 0; snd_nxt = 0; snd_max = 0; snd_wnd = 0; snd_up = 0; snd_wl1 = 0; snd_wl2 = 0; iss = 0; rcv_nxt = 0; rcv_wnd = -1; // will be set from configureStateVariables() rcv_up = 0; irs = 0; dupacks = 0; syn_rexmit_count = 0; syn_rexmit_timeout = 0; fin_ack_rcvd = false; send_fin = false; snd_fin_seq = 0; fin_rcvd = false; rcv_fin_seq = 0; afterRto = false; last_ack_sent = 0; }
std::string TCPStateVariables::detailedInfo | ( | void | ) | const [virtual] |
Reimplemented in tcp_old::TCPBaseAlgStateVariables, and tcp_old::TCPTahoeRenoFamilyStateVariables.
Definition at line 77 of file old/TCPConnectionBase.cc.
{ std::stringstream out; out << "active = " << active << "\n"; out << "snd_mss = " << snd_mss << "\n"; out << "snd_una = " << snd_una << "\n"; out << "snd_nxt = " << snd_nxt << "\n"; out << "snd_max = " << snd_max << "\n"; out << "snd_wnd = " << snd_wnd << "\n"; out << "snd_up = " << snd_up << "\n"; out << "snd_wl1 = " << snd_wl1 << "\n"; out << "snd_wl2 = " << snd_wl2 << "\n"; out << "iss = " << iss << "\n"; out << "rcv_nxt = " << rcv_nxt << "\n"; out << "rcv_wnd = " << rcv_wnd << "\n"; out << "rcv_up = " << rcv_up << "\n"; out << "irs = " << irs << "\n"; out << "fin_ack_rcvd = " << fin_ack_rcvd << "\n"; return out.str(); }
std::string TCPStateVariables::info | ( | ) | const [virtual] |
Reimplemented in tcp_old::TCPBaseAlgStateVariables, and tcp_old::TCPTahoeRenoFamilyStateVariables.
Definition at line 65 of file old/TCPConnectionBase.cc.
Referenced by tcp_old::TCPConnection::process_RCV_SEGMENT().
Definition at line 154 of file TCPConnection_old.h.
Referenced by tcp_old::TCPConnection::cloneListeningConnection(), detailedInfo(), tcp_old::TCPConnection::performStateTransition(), tcp_old::TCPConnection::process_OPEN_ACTIVE(), tcp_old::TCPConnection::process_OPEN_PASSIVE(), tcp_old::TCPConnection::process_SEND(), tcp_old::TCPConnection::process_TIMEOUT_CONN_ESTAB(), tcp_old::TCPConnection::processRstInSynReceived(), and TCPStateVariables().
Definition at line 196 of file TCPConnection_old.h.
Referenced by tcp_old::TCPTahoe::processRexmitTimer(), tcp_old::TCPReno::processRexmitTimer(), tcp_old::TCPConnection::sendData(), tcp_old::TCPConnection::sendSegment(), and TCPStateVariables().
Definition at line 178 of file TCPConnection_old.h.
Referenced by tcp_old::TCPConnection::processAckInEstabEtc(), tcp_old::TCPConnection::processSegment1stThru8th(), tcp_old::TCPReno::receivedDataAck(), tcp_old::TCPTahoe::receivedDuplicateAck(), tcp_old::TCPReno::receivedDuplicateAck(), tcp_old::TCPBaseAlg::receivedDuplicateAck(), tcp_old::DumbTCP::receivedDuplicateAck(), and TCPStateVariables().
Definition at line 188 of file TCPConnection_old.h.
Referenced by detailedInfo(), tcp_old::TCPConnection::process_STATUS(), tcp_old::TCPConnection::processAckInEstabEtc(), tcp_old::TCPConnection::processSegment1stThru8th(), and TCPStateVariables().
Definition at line 193 of file TCPConnection_old.h.
Referenced by tcp_old::TCPConnection::processSegment1stThru8th(), and TCPStateVariables().
Definition at line 155 of file TCPConnection_old.h.
Referenced by tcp_old::TCPConnection::cloneListeningConnection(), tcp_old::TCPConnection::process_OPEN_PASSIVE(), tcp_old::TCPConnection::processSegmentInListen(), and TCPStateVariables().
Definition at line 174 of file TCPConnection_old.h.
Referenced by detailedInfo(), tcp_old::TCPConnection::process_STATUS(), tcp_old::TCPConnection::processSegmentInListen(), tcp_old::TCPConnection::processSegmentInSynSent(), and TCPStateVariables().
Definition at line 168 of file TCPConnection_old.h.
Referenced by detailedInfo(), tcp_old::TCPConnection::process_STATUS(), tcp_old::TCPConnection::processSegmentInListen(), tcp_old::TCPConnection::processSegmentInSynSent(), tcp_old::TCPConnection::selectInitialSeqNum(), tcp_old::TCPConnection::sendSyn(), tcp_old::TCPConnection::sendSynAck(), and TCPStateVariables().
Definition at line 198 of file TCPConnection_old.h.
Referenced by tcp_old::TCPBaseAlg::ackSent(), tcp_old::TCPBaseAlg::receiveSeqChanged(), and TCPStateVariables().
Definition at line 194 of file TCPConnection_old.h.
Referenced by tcp_old::TCPConnection::processSegment1stThru8th(), and TCPStateVariables().
Definition at line 171 of file TCPConnection_old.h.
Referenced by tcp_old::TCPBaseAlg::ackSent(), detailedInfo(), info(), tcp_old::TCPConnection::isSegmentAcceptable(), tcp_old::TCPConnection::process_STATUS(), tcp_old::TCPConnection::processSegment1stThru8th(), tcp_old::TCPConnection::processSegmentInListen(), tcp_old::TCPConnection::processSegmentInSynSent(), tcp_old::TCPBaseAlg::receiveSeqChanged(), tcp_old::DumbTCP::receiveSeqChanged(), tcp_old::TCPConnection::sendAck(), tcp_old::TCPConnection::sendFin(), tcp_old::TCPConnection::sendSegment(), tcp_old::TCPConnection::sendSynAck(), and TCPStateVariables().
Definition at line 173 of file TCPConnection_old.h.
Referenced by detailedInfo(), tcp_old::TCPConnection::process_STATUS(), and TCPStateVariables().
Definition at line 172 of file TCPConnection_old.h.
Referenced by tcp_old::TCPConnection::configureStateVariables(), detailedInfo(), info(), tcp_old::TCPConnection::isSegmentAcceptable(), tcp_old::TCPConnection::process_STATUS(), tcp_old::TCPConnection::sendAck(), tcp_old::TCPConnection::sendFin(), tcp_old::TCPConnection::sendSegment(), tcp_old::TCPConnection::sendSyn(), tcp_old::TCPConnection::sendSynAck(), and TCPStateVariables().
Definition at line 190 of file TCPConnection_old.h.
Referenced by tcp_old::TCPConnection::process_CLOSE(), tcp_old::TCPConnection::processAckInEstabEtc(), tcp_old::TCPConnection::processSegment1stThru8th(), tcp_old::TCPConnection::retransmitData(), tcp_old::TCPConnection::sendSegment(), and TCPStateVariables().
Definition at line 191 of file TCPConnection_old.h.
Referenced by tcp_old::TCPConnection::process_CLOSE(), tcp_old::TCPConnection::processAckInEstabEtc(), tcp_old::TCPConnection::processSegment1stThru8th(), tcp_old::TCPConnection::retransmitData(), tcp_old::TCPConnection::sendSegment(), and TCPStateVariables().
Definition at line 162 of file TCPConnection_old.h.
Referenced by detailedInfo(), info(), tcp_old::TCPConnection::process_CLOSE(), tcp_old::TCPConnection::process_SEND(), tcp_old::TCPConnection::process_STATUS(), tcp_old::TCPConnection::processAckInEstabEtc(), tcp_old::TCPConnection::processSegmentInSynSent(), tcp_old::TCPBaseAlg::receivedDataAck(), tcp_old::TCPConnection::retransmitData(), tcp_old::TCPConnection::retransmitOneSegment(), tcp_old::TCPConnection::selectInitialSeqNum(), tcp_old::TCPConnection::sendData(), tcp_old::TCPBaseAlg::sendData(), tcp_old::TCPConnection::sendProbe(), tcp_old::TCPConnection::sendSegment(), tcp_old::TCPConnection::sendSyn(), tcp_old::TCPConnection::sendSynAck(), and TCPStateVariables().
Definition at line 157 of file TCPConnection_old.h.
Referenced by tcp_old::TCPConnection::configureStateVariables(), detailedInfo(), tcp_old::TCPBaseAlg::established(), tcp_old::TCPConnection::process_STATUS(), tcp_old::TCPTahoe::processRexmitTimer(), tcp_old::TCPReno::processRexmitTimer(), tcp_old::TCPTahoe::recalculateSlowStartThreshold(), tcp_old::TCPReno::recalculateSlowStartThreshold(), tcp_old::TCPTahoe::receivedDataAck(), tcp_old::TCPReno::receivedDataAck(), tcp_old::TCPTahoe::receivedDuplicateAck(), tcp_old::TCPReno::receivedDuplicateAck(), tcp_old::TCPConnection::retransmitData(), tcp_old::TCPConnection::retransmitOneSegment(), tcp_old::TCPConnection::sendData(), and TCPStateVariables().
Definition at line 161 of file TCPConnection_old.h.
Referenced by detailedInfo(), info(), tcp_old::TCPConnection::process_ABORT(), tcp_old::TCPConnection::process_CLOSE(), tcp_old::TCPConnection::process_STATUS(), tcp_old::TCPConnection::processAckInEstabEtc(), tcp_old::TCPConnection::processSegment1stThru8th(), tcp_old::TCPConnection::processSegmentInSynSent(), tcp_old::TCPConnection::retransmitData(), tcp_old::TCPConnection::retransmitOneSegment(), tcp_old::TCPConnection::selectInitialSeqNum(), tcp_old::TCPConnection::sendAck(), tcp_old::TCPConnection::sendData(), tcp_old::TCPConnection::sendFin(), tcp_old::TCPConnection::sendProbe(), tcp_old::TCPConnection::sendSegment(), tcp_old::TCPConnection::sendSyn(), tcp_old::TCPConnection::sendSynAck(), and TCPStateVariables().
Definition at line 160 of file TCPConnection_old.h.
Referenced by detailedInfo(), info(), tcp_old::TCPConnection::process_CLOSE(), tcp_old::TCPConnection::process_SEND(), tcp_old::TCPConnection::process_STATUS(), tcp_old::TCPConnection::processAckInEstabEtc(), tcp_old::TCPConnection::processSegment1stThru8th(), tcp_old::TCPConnection::processSegmentInSynSent(), tcp_old::TCPBaseAlg::receivedDataAck(), tcp_old::TCPConnection::retransmitData(), tcp_old::TCPConnection::retransmitOneSegment(), tcp_old::TCPConnection::selectInitialSeqNum(), tcp_old::TCPConnection::sendData(), tcp_old::TCPBaseAlg::sendData(), tcp_old::TCPConnection::sendProbe(), and TCPStateVariables().
Definition at line 165 of file TCPConnection_old.h.
Referenced by detailedInfo(), tcp_old::TCPConnection::process_STATUS(), and TCPStateVariables().
Definition at line 164 of file TCPConnection_old.h.
Referenced by detailedInfo(), info(), tcp_old::TCPConnection::process_STATUS(), tcp_old::TCPConnection::processAckInEstabEtc(), tcp_old::TCPConnection::processSegmentInListen(), tcp_old::TCPConnection::processSegmentInSynSent(), tcp_old::TCPTahoe::recalculateSlowStartThreshold(), tcp_old::TCPReno::recalculateSlowStartThreshold(), tcp_old::TCPConnection::sendData(), and TCPStateVariables().
Definition at line 182 of file TCPConnection_old.h.
Referenced by tcp_old::TCPConnection::process_TIMEOUT_SYN_REXMIT(), tcp_old::TCPConnection::startSynRexmitTimer(), and TCPStateVariables().
Definition at line 183 of file TCPConnection_old.h.
Referenced by tcp_old::TCPConnection::process_TIMEOUT_SYN_REXMIT(), tcp_old::TCPConnection::startSynRexmitTimer(), and TCPStateVariables().