29 .SetGroupName (
"Internet")
31 .AddAttribute (
"EnablePacing",
"Enable Pacing",
35 .AddAttribute (
"MaxPacingRate",
"Set Max Pacing Rate",
39 .AddTraceSource (
"CongestionWindow",
40 "The TCP connection's congestion window",
42 "ns3::TracedValueCallback::Uint32")
43 .AddTraceSource (
"CongestionWindowInflated",
44 "The TCP connection's inflated congestion window",
46 "ns3::TracedValueCallback::Uint32")
47 .AddTraceSource (
"SlowStartThreshold",
48 "TCP slow start threshold (bytes)",
50 "ns3::TracedValueCallback::Uint32")
51 .AddTraceSource (
"CongState",
52 "TCP Congestion machine state",
54 "ns3::TracedValueCallback::TcpCongState")
55 .AddTraceSource (
"EcnState",
56 "Trace ECN state change of socket",
58 "ns3::TracedValueCallback::EcnState")
59 .AddTraceSource (
"HighestSequence",
60 "Highest sequence number received from peer",
62 "ns3::TracedValueCallback::SequenceNumber32")
63 .AddTraceSource (
"NextTxSequence",
64 "Next sequence number to send (SND.NXT)",
66 "ns3::TracedValueCallback::SequenceNumber32")
67 .AddTraceSource (
"BytesInFlight",
68 "The TCP connection's congestion window",
70 "ns3::TracedValueCallback::Uint32")
71 .AddTraceSource (
"RTT",
74 "ns3::TracedValueCallback::Time")
81 m_cWnd (other.m_cWnd),
82 m_ssThresh (other.m_ssThresh),
83 m_initialCWnd (other.m_initialCWnd),
84 m_initialSsThresh (other.m_initialSsThresh),
85 m_segmentSize (other.m_segmentSize),
86 m_lastAckedSeq (other.m_lastAckedSeq),
87 m_congState (other.m_congState),
88 m_ecnState (other.m_ecnState),
89 m_highTxMark (other.m_highTxMark),
90 m_nextTxSequence (other.m_nextTxSequence),
91 m_rcvTimestampValue (other.m_rcvTimestampValue),
92 m_rcvTimestampEchoReply (other.m_rcvTimestampEchoReply),
93 m_pacing (other.m_pacing),
94 m_maxPacingRate (other.m_maxPacingRate),
95 m_currentPacingRate (other.m_currentPacingRate),
96 m_minRtt (other.m_minRtt),
97 m_bytesInFlight (other.m_bytesInFlight),
98 m_lastRtt (other.m_lastRtt)
105 "CA_OPEN",
"CA_DISORDER",
"CA_CWR",
"CA_RECOVERY",
"CA_LOSS" 111 "ECN_DISABLED",
"ECN_IDLE",
"ECN_CE_RCVD",
"ECN_SENDING_ECE",
"ECN_ECE_RCVD",
"ECN_CWR_SENT" AttributeValue implementation for Boolean.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
bool m_pacing
Pacing status.
Ptr< const AttributeAccessor > MakeBooleanAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
static const char *const EcnStateName[TcpSocketState::ECN_CWR_SENT+1]
Literal names of ECN states for use in log messages.
static const char *const TcpCongStateName[TcpSocketState::CA_LAST_STATE]
Literal names of TCP states for use in log messages.
TracedValue< EcnState_t > m_ecnState
Current ECN State, represented as combination of EcnState values.
TcpSocketState()
TcpSocketState Constructor.
Data structure that records the congestion state of a connection.
Ptr< const AttributeChecker > MakeDataRateChecker(void)
Ptr< const TraceSourceAccessor > MakeTraceSourceAccessor(T a)
Create a TraceSourceAccessor which will control access to the underlying trace source.
Class for representing data rates.
TracedValue< uint32_t > m_cWndInfl
Inflated congestion window trace (used only for backward compatibility purpose)
Ptr< const AttributeAccessor > MakeDataRateAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
TracedValue< uint32_t > m_bytesInFlight
Bytes in flight.
TracedValue< uint32_t > m_ssThresh
Slow start threshold.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Used only in debug messages.
TracedValue< TcpCongState_t > m_congState
State in the Congestion state machine.
Ptr< const AttributeChecker > MakeBooleanChecker(void)
static TypeId GetTypeId(void)
Get the type ID.
TracedValue< uint32_t > m_cWnd
Congestion window.
Sender has reduced the congestion window, and sent a packet with CWR bit set in TCP header...
AttributeValue implementation for DataRate.
TracedValue< Time > m_lastRtt
Last RTT sample collected.
TracedValue< SequenceNumber32 > m_highTxMark
Highest seqno ever sent, regardless of ReTx.
A base class which provides memory management and object aggregation.
DataRate m_maxPacingRate
Max Pacing rate.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
TracedValue< SequenceNumber32 > m_nextTxSequence
Next seqnum to be sent (SND.NXT), ReTx pushes it back.