NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
ns3::TcpSocketBase Class Reference

#include <introspected-doxygen.hpp>

Detailed Description

Config Paths

ns3::TcpSocketBase is accessible through the following paths with Config::Set and Config::Connect:

  • "/NodeList/[i]/$ns3::TcpL4Protocol/SocketList/[i]"

Attributes

  • 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
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:65535
    • Initial value: 65535
    • Flags: construct write read
  • IcmpCallback: Callback invoked whenever an icmp error is received on this socket.
    • Set with class: CallbackValue
    • Underlying type: Callback
    • Initial value: 0
    • Flags: construct write read
  • IcmpCallback6: Callback invoked whenever an icmpv6 error is received on this socket.
    • Set with class: CallbackValue
    • Underlying type: Callback
    • Initial value: 0
    • Flags: construct write read
  • WindowScaling: Enable or disable Window Scaling option
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read
  • Sack: Enable or disable Sack option
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read
  • Timestamp: Enable or disable Timestamp option
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read
  • MinRto: Minimum retransmit timeout value
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +1e+09ns
    • Flags: construct write read
  • ClockGranularity: Clock Granularity used in RTO calculations
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +1e+06ns
    • Flags: construct write read
  • TxBuffer: TCP Tx buffer
    • Set with class: ns3::PointerValue
    • Underlying type: ns3::Ptr< ns3::TcpTxBuffer>
    • Flags: read
  • RxBuffer: TCP Rx buffer
    • Set with class: ns3::PointerValue
    • Underlying type: ns3::Ptr< ns3::TcpRxBuffer>
    • Flags: read
  • CongestionOps: Pointer to TcpCongestionOps object
    • Set with class: ns3::PointerValue
    • Underlying type: ns3::Ptr< ns3::TcpCongestionOps>
    • Initial value: 0
    • Flags: construct write read
  • ReTxThreshold: Threshold for fast retransmit
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 3
    • Flags: construct write read
  • LimitedTransmit: Enable limited transmit
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read
  • UseEcn: Parameter to set ECN functionality
    • Set with class: ns3::EnumValue
    • Underlying type:
    • Initial value: Off
    • Flags: construct write

Attributes defined in parent class ns3::TcpSocket

  • SndBufSize: TcpSocket maximum transmit buffer size (bytes)
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 131072
    • Flags: construct write read
  • RcvBufSize: TcpSocket maximum receive buffer size (bytes)
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 131072
    • Flags: construct write read
  • SegmentSize: TCP maximum segment size in bytes (may be adjusted based on MTU discovery)
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 536
    • Flags: construct write read
  • InitialSlowStartThreshold: TCP initial slow start threshold (bytes)
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 4294967295
    • Flags: construct write read
  • InitialCwnd: TCP initial congestion window size (segments)
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 10
    • Flags: construct write read
  • ConnTimeout: TCP retransmission timeout when opening connection (seconds)
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +3e+09ns
    • Flags: construct write read
  • ConnCount: Number of connection attempts (SYN retransmissions) before returning failure
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 6
    • Flags: construct write read
  • DataRetries: Number of data retransmission attempts
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 6
    • Flags: construct write read
  • DelAckTimeout: Timeout value for TCP delayed acks, in seconds
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +2e+08ns
    • Flags: construct write read
  • DelAckCount: Number of packets to wait before sending a TCP ack
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 2
    • Flags: construct write read
  • 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: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +6e+09ns
    • Flags: construct write read

TraceSources

  • RTO: Retransmission timeout
    Callback signature: ns3::TracedValueCallback::Time
  • RTT: Last RTT sample
    Callback signature: ns3::TracedValueCallback::Time
  • NextTxSequence: Next sequence number to send (SND.NXT)
    Callback signature: ns3::SequenceNumber32TracedValueCallback
  • HighestSequence: Highest sequence number ever sent in socket's life time
    Callback signature: ns3::TracedValueCallback::SequenceNumber32
  • State: TCP state
    Callback signature: ns3::TcpStatesTracedValueCallback
  • CongState: TCP Congestion machine state
    Callback signature: ns3::TcpSocketState::TcpCongStatesTracedValueCallback
  • EcnState: Trace ECN state change of socket
    Callback signature: ns3::TcpSocketState::EcnStatesTracedValueCallback
  • AdvWND: Advertised Window Size
    Callback signature: ns3::TracedValueCallback::Uint32
  • RWND: Remote side's flow control window
    Callback signature: ns3::TracedValueCallback::Uint32
  • BytesInFlight: Socket estimation of bytes in flight
    Callback signature: ns3::TracedValueCallback::Uint32
  • HighestRxSequence: Highest sequence number received from peer
    Callback signature: ns3::TracedValueCallback::SequenceNumber32
  • HighestRxAck: Highest ack received from peer
    Callback signature: ns3::TracedValueCallback::SequenceNumber32
  • PacingRate: The current TCP pacing rate
    Callback signature: ns3::TracedValueCallback::DataRate
  • CongestionWindow: The TCP connection's congestion window
    Callback signature: ns3::TracedValueCallback::Uint32
  • CongestionWindowInflated: The TCP connection's congestion window inflates as in older RFC
    Callback signature: ns3::TracedValueCallback::Uint32
  • SlowStartThreshold: TCP slow start threshold (bytes)
    Callback signature: ns3::TracedValueCallback::Uint32
  • Tx: Send tcp packet to IP protocol
    Callback signature: ns3::TcpSocketBase::TcpTxRxTracedCallback
  • Rx: Receive tcp packet from IP protocol
    Callback signature: ns3::TcpSocketBase::TcpTxRxTracedCallback
  • EcnEchoSeq: Sequence of last received ECN Echo
    Callback signature: ns3::SequenceNumber32TracedValueCallback
  • EcnCeSeq: Sequence of last received CE
    Callback signature: ns3::SequenceNumber32TracedValueCallback
  • EcnCwrSeq: Sequence of last received CWR
    Callback signature: ns3::SequenceNumber32TracedValueCallback

Size of this type is 1256 bytes (on a 64-bit architecture).


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