An implementation of a stream socket using TCP. More...
#include <tcp-tahoe.h>
Public Member Functions | |
TcpTahoe (void) | |
TcpTahoe (const TcpTahoe &sock) | |
virtual int | Connect (const Address &address) |
Initiate a connection to a remote host. | |
virtual int | Listen (void) |
Listen for incoming connections. | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::TcpTahoe. | |
Protected Member Functions | |
virtual uint32_t | Window (void) |
virtual Ptr< TcpSocketBase > | Fork (void) |
virtual void | NewAck (SequenceNumber32 const &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 |
An implementation of a stream socket using TCP.
This class contains the Tahoe implementation of TCP. Tahoe is not officially published in RFC. The reference for implementing this is based on Kevin Fall and Sally Floyd, "Simulation-based Comparisons of Tahoe, Reno, and SACK TCP", CCR, 1996 http://inst.eecs.berkeley.edu/~ee122/fa05/projects/Project2/proj2_spec_files/sacks.pdf In summary, we have slow start, congestion avoidance, and fast retransmit. The implementation of these algorithms are based on W. R. Stevens's book and also RFC2001.
ns3::TcpTahoe::TcpTahoe | ( | void | ) |
Create an unbound tcp socket.
virtual int ns3::TcpTahoe::Connect | ( | const Address & | address | ) | [virtual] |
Initiate a connection to a remote host.
address | Address of remote. |
Reimplemented from ns3::TcpSocketBase.
static TypeId ns3::TcpTahoe::GetTypeId | ( | void | ) | [static] |
This method returns the TypeId associated to ns3::TcpTahoe.
This object is accessible through the following paths with Config::Set and Config::Connect:
No Attributes defined for this type.
Attributes defined in parent class ns3::TcpSocket:
TraceSources defined for this type:
TraceSources defined in parent class ns3::TcpSocketBase:
Reimplemented from ns3::TcpSocketBase.
virtual int ns3::TcpTahoe::Listen | ( | void | ) | [virtual] |
Listen for incoming connections.
Reimplemented from ns3::TcpSocketBase.