ns-3
|
An implementation of a stream socket using TCP. More...
#include <tcp-reno.h>
Public Member Functions | |
TcpReno (void) | |
TcpReno (const TcpReno &sock) | |
virtual int | Connect (const Address &address) |
virtual int | Listen (void) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::TcpReno. | |
Protected Member Functions | |
virtual uint32_t | Window (void) |
virtual Ptr< TcpSocketBase > | Fork (void) |
virtual void | NewAck (const SequenceNumber32 &seq) |
virtual void | DupAck (const TcpHeader &t, uint32_t count) |
virtual void | Retransmit (void) |
virtual void | SetSegSize (uint32_t size) |
virtual void | SetSSThresh (uint32_t threshold) |
virtual uint32_t | GetSSThresh (void) const |
virtual void | SetInitialCwnd (uint32_t cwnd) |
virtual uint32_t | GetInitialCwnd (void) const |
Protected Attributes | |
TracedValue< uint32_t > | m_cWnd |
uint32_t | m_ssThresh |
uint32_t | m_initialCWnd |
uint32_t | m_retxThresh |
bool | m_inFastRec |
An implementation of a stream socket using TCP.
This class contains the Reno implementation of TCP, according to RFC2581, except sec.4.1 "re-starting idle connections", which we do not detect for idleness and thus no slow start upon resumption.
ns3::TcpReno::TcpReno | ( | void | ) |
Create an unbound tcp socket.
References NS_LOG_FUNCTION.
int ns3::TcpReno::Connect | ( | const Address & | address | ) | [virtual] |
We initialize m_cWnd from this function, after attributes initialized
Reimplemented from ns3::TcpSocketBase.
References NS_LOG_FUNCTION.
TypeId ns3::TcpReno::GetTypeId | ( | void | ) | [static] |
This method returns the TypeId associated to ns3::TcpReno.
This object is accessible through the following paths with Config::Set and Config::Connect:
Attributes defined for this type:
Attributes defined in parent class ns3::TcpSocketBase:
Attributes defined in parent class ns3::TcpSocket:
TraceSources defined for this type:
TraceSources defined in parent class ns3::TcpSocketBase:
Reimplemented from ns3::TcpSocketBase.
References ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().
int ns3::TcpReno::Listen | ( | void | ) | [virtual] |
We initialize m_cWnd from this function, after attributes initialized
Reimplemented from ns3::TcpSocketBase.
References NS_LOG_FUNCTION.
void ns3::TcpReno::NewAck | ( | const SequenceNumber32 & | seq | ) | [protected, virtual] |
New ACK (up to seqnum seq) received. Increase cwnd and call TcpSocketBase::NewAck()
Reimplemented from ns3::TcpSocketBase.
References NS_LOG_FUNCTION, NS_LOG_INFO, and NS_LOG_LOGIC.
uint32_t ns3::TcpReno::Window | ( | void | ) | [protected, virtual] |
Limit the size of in-flight data by cwnd and receiver's rxwin
Reimplemented from ns3::TcpSocketBase.
References NS_LOG_FUNCTION.