ns-3
ns3::TcpRfc793 Class Reference

An implementation of a stream socket using TCP. More...

#include <tcp-rfc793.h>

Inheritance diagram for ns3::TcpRfc793:
Collaboration diagram for ns3::TcpRfc793:

List of all members.

Public Member Functions

 TcpRfc793 (void)
 TcpRfc793 (const TcpRfc793 &sock)

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::TcpRfc793.

Protected Member Functions

virtual Ptr< TcpSocketBaseFork ()
virtual void DupAck (const TcpHeader &t, uint32_t count)
virtual void SetSSThresh (uint32_t threshold)
virtual uint32_t GetSSThresh (void) const
virtual void SetInitialCwnd (uint32_t cwnd)
virtual uint32_t GetInitialCwnd (void) const

Detailed Description

An implementation of a stream socket using TCP.

This class contains an RFC793 implementation of TCP, as well as a sockets interface for talking to TCP. This serves as a base for other TCP functions where the sliding window mechanism is handled here. This class provides connection orientation and sliding window flow control.


Constructor & Destructor Documentation

Create an unbound tcp socket.

References NS_LOG_FUNCTION.


Member Function Documentation

TypeId ns3::TcpRfc793::GetTypeId ( void  ) [static]

This method returns the TypeId associated to ns3::TcpRfc793.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::Ipv4L4Protocol/$ns3::TcpL4Protocol/SocketList/[i]/$ns3::TcpRfc793
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::TcpL4Protocol/SocketList/[i]/$ns3::TcpRfc793
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::TcpRfc793
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::TcpSocket/$ns3::TcpRfc793
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::TcpSocket/$ns3::TcpSocketBase/$ns3::TcpRfc793
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::TcpSocketBase/$ns3::TcpRfc793
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::Ipv4L4Protocol/$ns3::TcpL4Protocol/SocketList/[i]/$ns3::TcpRfc793
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::TcpL4Protocol/SocketList/[i]/$ns3::TcpRfc793
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::TcpRfc793
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::TcpSocket/$ns3::TcpRfc793
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::TcpSocket/$ns3::TcpSocketBase/$ns3::TcpRfc793
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::TcpSocketBase/$ns3::TcpRfc793

No Attributes defined for this type.
Attributes defined in parent class ns3::TcpSocketBase:

  • MaxSegLifetime: Maximum segment lifetime in seconds, use for TIME_WAIT state transition to CLOSED state
    • Set with class: ns3::DoubleValue
    • Underlying type: double 0:1.79769e+308
    • Initial value: 120
    • Flags: construct write read
  • MaxWindowSize: Max size of advertised window

Attributes defined in parent class ns3::TcpSocket:

  • SndBufSize: TcpSocket maximum transmit buffer size (bytes)
  • RcvBufSize: TcpSocket maximum receive buffer size (bytes)
  • SegmentSize: TCP maximum segment size in bytes (may be adjusted based on MTU discovery)
  • SlowStartThreshold: TCP slow start threshold (bytes)
  • InitialCwnd: TCP initial congestion window size (segments)
  • ConnTimeout: TCP retransmission timeout when opening connection (seconds)
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +3000000000.0ns
    • Flags: construct write read
  • ConnCount: Number of connection attempts (SYN retransmissions) before returning failure
  • DelAckTimeout: Timeout value for TCP delayed acks, in seconds
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +200000000.0ns
    • Flags: construct write read
  • DelAckCount: Number of packets to wait before sending a TCP ack
  • TcpNoDelay: Set to true to disable Nagle's algorithm
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read
  • PersistTimeout: Persist timeout to probe for rx window
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +6000000000.0ns
    • Flags: construct write read

No TraceSources defined for this type.
TraceSources defined in parent class ns3::TcpSocketBase:

  • RTO: Retransmission timeout
  • RTT: Last RTT sample
  • NextTxSequence: Next sequence number to send (SND.NXT)
  • HighestSequence: Highest sequence number ever sent in socket's life time
  • State: TCP state
  • RWND: Remote side's flow control window

Reimplemented from ns3::TcpSocketBase.

References ns3::TypeId::SetParent().


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