A TCP socket which sends certain data packets with CE flags set for tests 5 and 6. More...
Inheritance diagram for ns3::TcpSocketCongestedRouter:
Collaboration diagram for ns3::TcpSocketCongestedRouter:Public Member Functions | |
| TcpSocketCongestedRouter () | |
| TcpSocketCongestedRouter (const TcpSocketCongestedRouter &other) | |
| Constructor. | |
| void | SetTestCase (uint8_t testCase) |
| Set the test case type. | |
Public Member Functions inherited from ns3::TcpSocketMsgBase | |
| TcpSocketMsgBase () | |
| TcpSocketMsgBase (const TcpSocketMsgBase &other) | |
| Constructor. | |
| void | SetAfterRetransmitCb (RetrCb cb) |
| Set the callback invoked after the processing of a retransmit timeout. | |
| void | SetBeforeRetransmitCb (RetrCb cb) |
| Set the callback invoked before the processing of a retransmit timeout. | |
| void | SetForkCb (Callback< void, Ptr< TcpSocketMsgBase > > cb) |
| Set the callback invoked after the forking. | |
| void | SetProcessedAckCb (AckManagementCb cb) |
| Set the callback invoked when an ACK is received and processed (at the end of the processing) | |
| void | SetRcvAckCb (AckManagementCb cb) |
| Set the callback invoked when an ACK is received (at the beginning of the processing) | |
| void | SetUpdateRttHistoryCb (UpdateRttCallback cb) |
| Set the callback invoked when we update rtt history. | |
Public Member Functions inherited from ns3::TcpSocketBase | |
| TcpSocketBase () | |
| Create an unbound TCP socket. | |
| TcpSocketBase (const TcpSocketBase &sock) | |
| Clone a TCP socket, for use upon receiving a connection request in LISTEN state. | |
| ~TcpSocketBase () override | |
| int | Bind () override |
| Allocate a local IPv4 endpoint for this socket. | |
| int | Bind (const Address &address) override |
| Allocate a local endpoint for this socket. | |
| int | Bind6 () override |
| Allocate a local IPv6 endpoint for this socket. | |
| void | BindToNetDevice (Ptr< NetDevice > netdevice) override |
| Bind a socket to specific device. | |
| bool | CheckEcnCe (uint8_t tos) const |
| Checks for CE codepoint. | |
| bool | CheckEcnEct0 (uint8_t tos) const |
| Checks for ECT(0) codepoint. | |
| bool | CheckEcnEct1 (uint8_t tos) const |
| Checks for ECT(1) codepoint. | |
| bool | CheckNoEcn (uint8_t tos) const |
| Checks if TOS has no ECN codepoints. | |
| uint8_t | ClearEcnBits (uint8_t tos) const |
| Clears ECN bits from TOS. | |
| int | Close () override |
| Close a socket. | |
| int | Connect (const Address &address) override |
| Initiate a connection to a remote host. | |
| Time | GetClockGranularity () const |
| Get the Clock Granularity (used in RTO calcs). | |
| SocketErrno | GetErrno () const override |
| Get last error number. | |
| TypeId | GetInstanceTypeId () const override |
| Get the instance TypeId. | |
| Time | GetMinRto () const |
| Get the Minimum RTO. | |
| Ptr< Node > | GetNode () const override |
| Return the node this socket is associated with. | |
| int | GetPeerName (Address &address) const override |
| Get the peer address of a connected socket. | |
| uint32_t | GetRetxThresh () const |
| Get the retransmission threshold (dup ack threshold for a fast retransmit) | |
| uint32_t | GetRxAvailable () const override |
| Return number of bytes which can be returned from one or multiple calls to Recv. | |
| Ptr< TcpRxBuffer > | GetRxBuffer () const |
| Get a pointer to the Rx buffer. | |
| SocketType | GetSocketType () const override |
| int | GetSockName (Address &address) const override |
| Get socket address. | |
| uint32_t | GetTxAvailable () const override |
| Returns the number of bytes which can be sent in a single call to Send. | |
| Ptr< TcpTxBuffer > | GetTxBuffer () const |
| Get a pointer to the Tx buffer. | |
| int | Listen () override |
| Listen for incoming connections. | |
| uint8_t | MarkEcnCe (uint8_t tos) const |
| Mark CE codepoint. | |
| uint8_t | MarkEcnCodePoint (const uint8_t tos, const TcpSocketState::EcnCodePoint_t codePoint) const |
| mark ECN code point | |
| uint8_t | MarkEcnEct0 (uint8_t tos) const |
| Mark ECT(0) codepoint. | |
| uint8_t | MarkEcnEct1 (uint8_t tos) const |
| Mark ECT(1) codepoint. | |
| Ptr< Packet > | Recv (uint32_t maxSize, uint32_t flags) override |
| Read data from the socket. | |
| Ptr< Packet > | RecvFrom (uint32_t maxSize, uint32_t flags, Address &fromAddress) override |
| Read a single packet from the socket and retrieve the sender address. | |
| int | Send (Ptr< Packet > p, uint32_t flags) override |
| Send data (or dummy data) to the remote host. | |
| int | SendTo (Ptr< Packet > p, uint32_t flags, const Address &toAddress) override |
| Send data to a specified peer. | |
| void | SetClockGranularity (Time clockGranularity) |
| Sets the Clock Granularity (used in RTO calcs). | |
| void | SetCongestionControlAlgorithm (Ptr< TcpCongestionOps > algo) |
| Install a congestion control algorithm on this socket. | |
| void | SetMinRto (Time minRto) |
| Sets the Minimum RTO. | |
| virtual void | SetNode (Ptr< Node > node) |
| Set the associated node. | |
| void | SetPaceInitialWindow (bool paceWindow) |
| Enable or disable pacing of the initial window. | |
| void | SetPacingStatus (bool pacing) |
| Enable or disable pacing. | |
| void | SetRecoveryAlgorithm (Ptr< TcpRecoveryOps > recovery) |
| Install a recovery algorithm on this socket. | |
| void | SetRetxThresh (uint32_t retxThresh) |
| Set the retransmission threshold (dup ack threshold for a fast retransmit) | |
| virtual void | SetRtt (Ptr< RttEstimator > rtt) |
| Set the associated RTT estimator. | |
| virtual void | SetTcp (Ptr< TcpL4Protocol > tcp) |
| Set the associated TCP L4 protocol. | |
| void | SetUseEcn (TcpSocketState::UseEcn_t useEcn) |
| Set ECN mode of use on the socket. | |
| int | ShutdownRecv () override |
| int | ShutdownSend () override |
| void | UpdateBytesInFlight (uint32_t oldValue, uint32_t newValue) const |
| Callback function to hook to TcpSocketState bytes inflight. | |
| void | UpdateCongState (TcpSocketState::TcpCongState_t oldValue, TcpSocketState::TcpCongState_t newValue) const |
| Callback function to hook to TcpSocketState congestion state. | |
| void | UpdateCwnd (uint32_t oldValue, uint32_t newValue) const |
| Callback function to hook to TcpSocketState congestion window. | |
| void | UpdateCwndInfl (uint32_t oldValue, uint32_t newValue) const |
| Callback function to hook to TcpSocketState inflated congestion window. | |
| void | UpdateEcnState (TcpSocketState::EcnState_t oldValue, TcpSocketState::EcnState_t newValue) const |
| Callback function to hook to EcnState state. | |
| void | UpdateHighTxMark (SequenceNumber32 oldValue, SequenceNumber32 newValue) const |
| Callback function to hook to TcpSocketState high tx mark. | |
| void | UpdateNextTxSequence (SequenceNumber32 oldValue, SequenceNumber32 newValue) const |
| Callback function to hook to TcpSocketState next tx sequence. | |
| void | UpdatePacingRateTrace (DataRate oldValue, DataRate newValue) const |
| Callback function to hook to TcpSocketState pacing rate. | |
| void | UpdateRtt (Time oldValue, Time newValue) const |
| Callback function to hook to TcpSocketState rtt. | |
| void | UpdateSsThresh (uint32_t oldValue, uint32_t newValue) const |
| Callback function to hook to TcpSocketState slow start threshold. | |
Public Member Functions inherited from ns3::TcpSocket | |
| TcpSocket () | |
| ~TcpSocket () override | |
Public Member Functions inherited from ns3::Socket | |
| Socket () | |
| ~Socket () override | |
| virtual int | Bind ()=0 |
| Allocate a local IPv4 endpoint for this socket. | |
| virtual int | Bind (const Address &address)=0 |
| Allocate a local endpoint for this socket. | |
| virtual int | Bind6 ()=0 |
| Allocate a local IPv6 endpoint for this socket. | |
| virtual void | BindToNetDevice (Ptr< NetDevice > netdevice) |
| Bind a socket to specific device. | |
| virtual int | Close ()=0 |
| Close a socket. | |
| virtual int | Connect (const Address &address)=0 |
| Initiate a connection to a remote host. | |
| virtual bool | GetAllowBroadcast () const =0 |
| Query whether broadcast datagram transmissions are allowed. | |
| Ptr< NetDevice > | GetBoundNetDevice () |
| Returns socket's bound NetDevice, if any. | |
| virtual Socket::SocketErrno | GetErrno () const =0 |
| Get last error number. | |
| uint8_t | GetIpTos () const |
| Query the value of IP Type of Service of this socket. | |
| virtual uint8_t | GetIpTtl () const |
| Query the value of IP Time to Live field of this socket. | |
| virtual uint8_t | GetIpv6HopLimit () const |
| Query the value of IP Hop Limit field of this socket. | |
| uint8_t | GetIpv6Tclass () const |
| Query the value of IPv6 Traffic Class field of this socket. | |
| virtual Ptr< Node > | GetNode () const =0 |
| Return the node this socket is associated with. | |
| virtual int | GetPeerName (Address &address) const =0 |
| Get the peer address of a connected socket. | |
| uint8_t | GetPriority () const |
| Query the priority value of this socket. | |
| virtual uint32_t | GetRxAvailable () const =0 |
| Return number of bytes which can be returned from one or multiple calls to Recv. | |
| virtual Socket::SocketType | GetSocketType () const =0 |
| virtual int | GetSockName (Address &address) const =0 |
| Get socket address. | |
| virtual uint32_t | GetTxAvailable () const =0 |
| Returns the number of bytes which can be sent in a single call to Send. | |
| virtual void | Ipv6JoinGroup (Ipv6Address address) |
| Joins a IPv6 multicast group without filters. | |
| virtual void | Ipv6JoinGroup (Ipv6Address address, Ipv6MulticastFilterMode filterMode, std::vector< Ipv6Address > sourceAddresses) |
| Joins a IPv6 multicast group. | |
| virtual void | Ipv6LeaveGroup () |
| Leaves IPv6 multicast group this socket is joined to. | |
| bool | IsIpRecvTos () const |
| Ask if the socket is currently passing information about IP Type of Service up the stack. | |
| bool | IsIpRecvTtl () const |
| Ask if the socket is currently passing information about IP_TTL up the stack. | |
| bool | IsIpv6RecvHopLimit () const |
| Ask if the socket is currently passing information about IPv6 Hop Limit up the stack. | |
| bool | IsIpv6RecvTclass () const |
| Ask if the socket is currently passing information about IPv6 Traffic Class up the stack. | |
| bool | IsRecvPktInfo () const |
| Get status indicating whether enable/disable packet information to socket. | |
| virtual int | Listen ()=0 |
| Listen for incoming connections. | |
| Ptr< Packet > | Recv () |
| Read a single packet from the socket. | |
| virtual Ptr< Packet > | Recv (uint32_t maxSize, uint32_t flags)=0 |
| Read data from the socket. | |
| int | Recv (uint8_t *buf, uint32_t size, uint32_t flags) |
| Recv data (or dummy data) from the remote host. | |
| Ptr< Packet > | RecvFrom (Address &fromAddress) |
| Read a single packet from the socket and retrieve the sender address. | |
| virtual Ptr< Packet > | RecvFrom (uint32_t maxSize, uint32_t flags, Address &fromAddress)=0 |
| Read a single packet from the socket and retrieve the sender address. | |
| int | RecvFrom (uint8_t *buf, uint32_t size, uint32_t flags, Address &fromAddress) |
| Read a single packet from the socket and retrieve the sender address. | |
| int | Send (const uint8_t *buf, uint32_t size, uint32_t flags) |
| Send data (or dummy data) to the remote host. | |
| int | Send (Ptr< Packet > p) |
| Send data (or dummy data) to the remote host. | |
| virtual int | Send (Ptr< Packet > p, uint32_t flags)=0 |
| Send data (or dummy data) to the remote host. | |
| int | SendTo (const uint8_t *buf, uint32_t size, uint32_t flags, const Address &address) |
| Send data to a specified peer. | |
| virtual int | SendTo (Ptr< Packet > p, uint32_t flags, const Address &toAddress)=0 |
| Send data to a specified peer. | |
| void | SetAcceptCallback (Callback< bool, Ptr< Socket >, const Address & > connectionRequest, Callback< void, Ptr< Socket >, const Address & > newConnectionCreated) |
| Accept connection requests from remote hosts. | |
| virtual bool | SetAllowBroadcast (bool allowBroadcast)=0 |
| Configure whether broadcast datagram transmissions are allowed. | |
| void | SetCloseCallbacks (Callback< void, Ptr< Socket > > normalClose, Callback< void, Ptr< Socket > > errorClose) |
| Detect socket recv() events such as graceful shutdown or error. | |
| void | SetConnectCallback (Callback< void, Ptr< Socket > > connectionSucceeded, Callback< void, Ptr< Socket > > connectionFailed) |
| Specify callbacks to allow the caller to determine if the connection succeeds of fails. | |
| void | SetDataSentCallback (Callback< void, Ptr< Socket >, uint32_t > dataSent) |
| Notify application when a packet has been sent from transport protocol (non-standard socket call) | |
| void | SetIpRecvTos (bool ipv4RecvTos) |
| Tells a socket to pass information about IP Type of Service up the stack. | |
| void | SetIpRecvTtl (bool ipv4RecvTtl) |
| Tells a socket to pass information about IP_TTL up the stack. | |
| void | SetIpTos (uint8_t ipTos) |
| Manually set IP Type of Service field. | |
| virtual void | SetIpTtl (uint8_t ipTtl) |
| Manually set IP Time to Live field. | |
| virtual void | SetIpv6HopLimit (uint8_t ipHopLimit) |
| Manually set IPv6 Hop Limit. | |
| void | SetIpv6RecvHopLimit (bool ipv6RecvHopLimit) |
| Tells a socket to pass information about IPv6 Hop Limit up the stack. | |
| void | SetIpv6RecvTclass (bool ipv6RecvTclass) |
| Tells a socket to pass information about IPv6 Traffic Class up the stack. | |
| void | SetIpv6Tclass (int ipTclass) |
| Manually set IPv6 Traffic Class field. | |
| void | SetPriority (uint8_t priority) |
| Manually set the socket priority. | |
| void | SetRecvCallback (Callback< void, Ptr< Socket > > receivedData) |
| Notify application when new data is available to be read. | |
| void | SetRecvPktInfo (bool flag) |
| Enable/Disable receive packet information to socket. | |
| void | SetSendCallback (Callback< void, Ptr< Socket >, uint32_t > sendCb) |
| Notify application when space in transmit buffer is added. | |
| virtual int | ShutdownRecv ()=0 |
| virtual int | ShutdownSend ()=0 |
Public Member Functions inherited from ns3::Object | |
| Object () | |
| Constructor. | |
| ~Object () override | |
| Destructor. | |
| void | AggregateObject (Ptr< Object > other) |
| Aggregate two Objects together. | |
| void | Dispose () |
| Dispose of this Object. | |
| AggregateIterator | GetAggregateIterator () const |
| Get an iterator to the Objects aggregated to this one. | |
| TypeId | GetInstanceTypeId () const override |
| Get the most derived TypeId for this Object. | |
| template<typename T > | |
| Ptr< T > | GetObject () const |
| Get a pointer to the requested aggregated Object. | |
| template<> | |
| Ptr< Object > | GetObject () const |
| Specialization of () for objects of type ns3::Object. | |
| template<typename T > | |
| Ptr< T > | GetObject (TypeId tid) const |
| Get a pointer to the requested aggregated Object by TypeId. | |
| template<> | |
| Ptr< Object > | GetObject (TypeId tid) const |
| Specialization of (TypeId tid) for objects of type ns3::Object. | |
| void | Initialize () |
| Invoke DoInitialize on all Objects aggregated to this one. | |
| bool | IsInitialized () const |
| Check if the object has been initialized. | |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
| SimpleRefCount () | |
| Default constructor. | |
| SimpleRefCount (const SimpleRefCount &o) | |
| Copy constructor. | |
| uint32_t | GetReferenceCount () const |
| Get the reference count of the object. | |
| SimpleRefCount & | operator= (const SimpleRefCount &o) |
| Assignment operator. | |
| void | Ref () const |
| Increment the reference count. | |
| void | Unref () const |
| Decrement the reference count. | |
Public Member Functions inherited from ns3::ObjectBase | |
| virtual | ~ObjectBase () |
| Virtual destructor. | |
| void | GetAttribute (std::string name, AttributeValue &value) const |
| Get the value of an attribute, raising fatal errors if unsuccessful. | |
| bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
| Get the value of an attribute without raising errors. | |
| virtual TypeId | GetInstanceTypeId () const =0 |
| Get the most derived TypeId for this Object. | |
| void | SetAttribute (std::string name, const AttributeValue &value) |
| Set a single attribute, raising fatal errors if unsuccessful. | |
| bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
| Set a single attribute without raising errors. | |
| bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
| Connect a TraceSource to a Callback with a context. | |
| bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
| Connect a TraceSource to a Callback without a context. | |
| bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
| Disconnect from a TraceSource a Callback previously connected with a context. | |
| bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
| Disconnect from a TraceSource a Callback previously connected without a context. | |
Static Public Member Functions | |
| static TypeId | GetTypeId () |
| Get the type ID. | |
Static Public Member Functions inherited from ns3::TcpSocketMsgBase | |
| static TypeId | GetTypeId () |
| Get the type ID. | |
Static Public Member Functions inherited from ns3::TcpSocketBase | |
| static TypeId | GetTypeId () |
| Get the type ID. | |
Static Public Member Functions inherited from ns3::TcpSocket | |
| static TypeId | GetTypeId () |
| Get the type ID. | |
Static Public Member Functions inherited from ns3::Socket | |
| static Ptr< Socket > | CreateSocket (Ptr< Node > node, TypeId tid) |
| This method wraps the creation of sockets that is performed on a given node by a SocketFactory specified by TypeId. | |
| static TypeId | GetTypeId () |
| Get the type ID. | |
| static uint8_t | IpTos2Priority (uint8_t ipTos) |
| Return the priority corresponding to a given TOS value. | |
Static Public Member Functions inherited from ns3::Object | |
| static TypeId | GetTypeId () |
| Register this type. | |
Static Public Member Functions inherited from ns3::ObjectBase | |
| static TypeId | GetTypeId () |
| Get the type ID. | |
Protected Member Functions | |
| Ptr< TcpSocketBase > | Fork () override |
| Call CopyObject<> to clone me. | |
| void | ReTxTimeout () override |
| An RTO event happened. | |
| uint32_t | SendDataPacket (SequenceNumber32 seq, uint32_t maxSize, bool withAck) override |
| Extract at most maxSize bytes from the TxBuffer at sequence seq, add the TCP header, and send to TcpL4Protocol. | |
Protected Member Functions inherited from ns3::TcpSocketMsgBase | |
| void | CompleteFork (Ptr< Packet > p, const TcpHeader &tcpHeader, const Address &fromAddress, const Address &toAddress) override |
| Complete a connection by forking the socket. | |
| Ptr< TcpSocketBase > | Fork () override |
| Call CopyObject<> to clone me. | |
| void | ReceivedAck (Ptr< Packet > packet, const TcpHeader &tcpHeader) override |
| Received an ACK packet. | |
| void | ReTxTimeout () override |
| An RTO event happened. | |
| void | UpdateRttHistory (const SequenceNumber32 &seq, uint32_t sz, bool isRetransmission) override |
| Update the RTT history, when we send TCP segments. | |
Protected Member Functions inherited from ns3::TcpSocketBase | |
| void | AddOptions (TcpHeader &tcpHeader) |
| Add options to TcpHeader. | |
| void | AddOptionSack (TcpHeader &header) |
| Add the SACK option to the header. | |
| void | AddOptionSackPermitted (TcpHeader &header) |
| Add the SACK PERMITTED option to the header. | |
| void | AddOptionTimestamp (TcpHeader &header) |
| Add the timestamp option to the header. | |
| void | AddOptionWScale (TcpHeader &header) |
| Add the window scale option to the header. | |
| void | AddSocketTags (const Ptr< Packet > &p) const |
| Add Tags for the Socket. | |
| virtual uint16_t | AdvertisedWindowSize (bool scale=true) const |
| The amount of Rx window announced to the peer. | |
| virtual uint32_t | AvailableWindow () const |
| Return unfilled portion of window. | |
| virtual uint32_t | BytesInFlight () const |
| Return total bytes in flight. | |
| uint8_t | CalculateWScale () const |
| Calculate window scale value based on receive buffer space. | |
| void | CancelAllTimers () |
| Cancel all timer when endpoint is deleted. | |
| void | CloseAndNotify () |
| Peacefully close the socket by notifying the upper layer and deallocate end point. | |
| virtual void | CompleteFork (Ptr< Packet > p, const TcpHeader &tcpHeader, const Address &fromAddress, const Address &toAddress) |
| Complete a connection by forking the socket. | |
| void | ConnectionSucceeded () |
| Schedule-friendly wrapper for Socket::NotifyConnectionSucceeded() | |
| void | DeallocateEndPoint () |
| Deallocate m_endPoint and m_endPoint6. | |
| virtual void | DelAckTimeout () |
| Action upon delay ACK timeout, i.e. | |
| void | Destroy () |
| Kill this socket by zeroing its attributes (IPv4) | |
| void | Destroy6 () |
| Kill this socket by zeroing its attributes (IPv6) | |
| int | DoClose () |
| Close a socket by sending RST, FIN, or FIN+ACK, depend on the current state. | |
| int | DoConnect () |
| Perform the real connection tasks: Send SYN if allowed, RST if invalid. | |
| virtual void | DoForwardUp (Ptr< Packet > packet, const Address &fromAddress, const Address &toAddress) |
| Called by TcpSocketBase::ForwardUp{,6}(). | |
| void | DoPeerClose () |
| FIN is in sequence, notify app and respond with a FIN. | |
| void | DoRetransmit () |
| Retransmit the first segment marked as lost, without considering available window nor pacing. | |
| void | DupAck (uint32_t currentDelivered) |
| Dupack management. | |
| void | EnterCwr (uint32_t currentDelivered) |
| Enter CA_CWR state upon receipt of an ECN Echo. | |
| void | EnterRecovery (uint32_t currentDelivered) |
| Enter the CA_RECOVERY, and retransmit the head. | |
| virtual void | EstimateRtt (const TcpHeader &tcpHeader) |
| Take into account the packet for RTT estimation. | |
| virtual Ptr< TcpSocketBase > | Fork () |
| Call CopyObject<> to clone me. | |
| void | ForwardIcmp (Ipv4Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo) |
| Called by the L3 protocol when it received an ICMP packet to pass on to TCP. | |
| void | ForwardIcmp6 (Ipv6Address icmpSource, uint8_t icmpTtl, uint8_t icmpType, uint8_t icmpCode, uint32_t icmpInfo) |
| Called by the L3 protocol when it received an ICMPv6 packet to pass on to TCP. | |
| void | ForwardUp (Ptr< Packet > packet, Ipv4Header header, uint16_t port, Ptr< Ipv4Interface > incomingInterface) |
| Called by the L3 protocol when it received a packet to pass on to TCP. | |
| void | ForwardUp6 (Ptr< Packet > packet, Ipv6Header header, uint16_t port, Ptr< Ipv6Interface > incomingInterface) |
| Called by the L3 protocol when it received a packet to pass on to TCP. | |
| bool | GetAllowBroadcast () const override |
| Query whether broadcast datagram transmissions are allowed. | |
| Time | GetConnTimeout () const override |
| Get the connection timeout. | |
| uint32_t | GetDataRetries () const override |
| Get the number of data transmission retries before giving up. | |
| uint32_t | GetDelAckMaxCount () const override |
| Get the number of packet to fire an ACK before delay timeout. | |
| Time | GetDelAckTimeout () const override |
| Get the time to delay an ACK. | |
| SequenceNumber32 | GetHighRxAck () const |
| Get the current value of the receiver's highest (in-sequence) sequence number acked. | |
| uint32_t | GetInitialCwnd () const override |
| Get the initial Congestion Window. | |
| uint32_t | GetInitialSSThresh () const override |
| Get the initial Slow Start Threshold. | |
| Time | GetPersistTimeout () const override |
| Get the timeout for persistent connection. | |
| uint32_t | GetRcvBufSize () const override |
| Get the receive buffer size. | |
| uint32_t | GetRWnd () const |
| Get the current value of the receiver's offered window (RCV.WND) | |
| uint32_t | GetSegSize () const override |
| Get the segment size. | |
| uint32_t | GetSndBufSize () const override |
| Get the send buffer size. | |
| uint32_t | GetSynRetries () const override |
| Get the number of connection retries before giving up. | |
| bool | GetTcpNoDelay () const override |
| Check if Nagle's algorithm is enabled or not. | |
| bool | IsPacingEnabled () const |
| Return true if packets in the current window should be paced. | |
| bool | IsTcpOptionEnabled (uint8_t kind) const |
| Return true if the specified option is enabled. | |
| bool | IsValidTcpSegment (const SequenceNumber32 seq, const uint32_t tcpHeaderSize, const uint32_t tcpPayloadSize) |
| Checks whether the given TCP segment is valid or not. | |
| virtual void | LastAckTimeout () |
| Timeout at LAST_ACK, close the connection. | |
| virtual void | NewAck (const SequenceNumber32 &seq, bool resetRTO) |
| Update buffers w.r.t. | |
| void | NotifyPacingPerformed () |
| Notify Pacing. | |
| bool | OutOfRange (SequenceNumber32 head, SequenceNumber32 tail) const |
| Check if a sequence number range is within the rx window. | |
| void | PeerClose (Ptr< Packet > p, const TcpHeader &tcpHeader) |
| Received a FIN from peer, notify rx buffer. | |
| virtual void | PersistTimeout () |
| Send 1 byte probe to get an updated window size. | |
| virtual void | ProcessAck (const SequenceNumber32 &ackNumber, bool scoreboardUpdated, uint32_t currentDelivered, const SequenceNumber32 &oldHeadSequence) |
| Process a received ack. | |
| void | ProcessClosing (Ptr< Packet > packet, const TcpHeader &tcpHeader) |
| Received a packet upon CLOSING. | |
| void | ProcessEstablished (Ptr< Packet > packet, const TcpHeader &tcpHeader) |
| Received a packet upon ESTABLISHED state. | |
| void | ProcessLastAck (Ptr< Packet > packet, const TcpHeader &tcpHeader) |
| Received a packet upon LAST_ACK. | |
| void | ProcessListen (Ptr< Packet > packet, const TcpHeader &tcpHeader, const Address &fromAddress, const Address &toAddress) |
| Received a packet upon LISTEN state. | |
| uint32_t | ProcessOptionSack (const Ptr< const TcpOption > option) |
| Read the SACK option. | |
| void | ProcessOptionSackPermitted (const Ptr< const TcpOption > option) |
| Read the SACK PERMITTED option. | |
| void | ProcessOptionTimestamp (const Ptr< const TcpOption > option, const SequenceNumber32 &seq) |
| Process the timestamp option from other side. | |
| void | ProcessOptionWScale (const Ptr< const TcpOption > option) |
| Read and parse the Window scale option. | |
| void | ProcessSynRcvd (Ptr< Packet > packet, const TcpHeader &tcpHeader, const Address &fromAddress, const Address &toAddress) |
| Received a packet upon SYN_RCVD. | |
| void | ProcessSynSent (Ptr< Packet > packet, const TcpHeader &tcpHeader) |
| Received a packet upon SYN_SENT. | |
| void | ProcessWait (Ptr< Packet > packet, const TcpHeader &tcpHeader) |
| Received a packet upon CLOSE_WAIT, FIN_WAIT_1, FIN_WAIT_2. | |
| void | ReadOptions (const TcpHeader &tcpHeader, uint32_t *bytesSacked) |
| Read TCP options before Ack processing. | |
| virtual void | ReceivedAck (Ptr< Packet > packet, const TcpHeader &tcpHeader) |
| Received an ACK packet. | |
| virtual void | ReceivedData (Ptr< Packet > packet, const TcpHeader &tcpHeader) |
| Recv of a data, put into buffer, call L7 to get it if necessary. | |
| virtual void | ReTxTimeout () |
| An RTO event happened. | |
| virtual uint32_t | SendDataPacket (SequenceNumber32 seq, uint32_t maxSize, bool withAck) |
| Extract at most maxSize bytes from the TxBuffer at sequence seq, add the TCP header, and send to TcpL4Protocol. | |
| virtual void | SendEmptyPacket (uint8_t flags) |
| Send a empty packet that carries a flag, e.g., ACK. | |
| uint32_t | SendPendingData (bool withAck=false) |
| Send as much pending data as possible according to the Tx window. | |
| void | SendRST () |
| Send reset and tear down this socket. | |
| bool | SetAllowBroadcast (bool allowBroadcast) override |
| Configure whether broadcast datagram transmissions are allowed. | |
| void | SetConnTimeout (Time timeout) override |
| Set the connection timeout. | |
| void | SetDataRetries (uint32_t retries) override |
| Set the number of data transmission retries before giving up. | |
| void | SetDelAckMaxCount (uint32_t count) override |
| Set the number of packet to fire an ACK before delay timeout. | |
| void | SetDelAckTimeout (Time timeout) override |
| Set the time to delay an ACK. | |
| void | SetInitialCwnd (uint32_t cwnd) override |
| Set the initial Congestion Window. | |
| void | SetInitialSSThresh (uint32_t threshold) override |
| Set the initial Slow Start Threshold. | |
| void | SetPersistTimeout (Time timeout) override |
| Set the timeout for persistent connection. | |
| void | SetRcvBufSize (uint32_t size) override |
| Set the receive buffer size. | |
| void | SetSegSize (uint32_t size) override |
| Set the segment size. | |
| void | SetSndBufSize (uint32_t size) override |
| Set the send buffer size. | |
| void | SetSynRetries (uint32_t count) override |
| Set the number of connection retries before giving up. | |
| void | SetTcpNoDelay (bool noDelay) override |
| Enable/Disable Nagle's algorithm. | |
| int | SetupCallback () |
| Common part of the two Bind(), i.e. | |
| int | SetupEndpoint () |
| Configure the endpoint to a local address. | |
| int | SetupEndpoint6 () |
| Configure the endpoint v6 to a local address. | |
| void | TimeWait () |
| Move from CLOSING or FIN_WAIT_2 to TIME_WAIT state. | |
| virtual uint32_t | UnAckDataCount () const |
| Return count of number of unacked bytes. | |
| void | UpdatePacingRate () |
| Dynamically update the pacing rate. | |
| virtual void | UpdateRttHistory (const SequenceNumber32 &seq, uint32_t sz, bool isRetransmission) |
| Update the RTT history, when we send TCP segments. | |
| void | UpdateWindowSize (const TcpHeader &header) |
| Update the receiver window (RWND) based on the value of the window field in the header. | |
| virtual uint32_t | Window () const |
| Return the max possible number of unacked bytes. | |
Protected Member Functions inherited from ns3::Socket | |
| void | DoDispose () override |
| Destructor implementation. | |
| bool | IsManualIpTtl () const |
| Checks if the socket has a specific IPv4 TTL set. | |
| bool | IsManualIpv6HopLimit () const |
| Checks if the socket has a specific IPv6 Hop Limit set. | |
| bool | IsManualIpv6Tclass () const |
| Checks if the socket has a specific IPv6 Tclass set. | |
| void | NotifyConnectionFailed () |
| Notify through the callback (if set) that the connection has not been established due to an error. | |
| bool | NotifyConnectionRequest (const Address &from) |
| Notify through the callback (if set) that an incoming connection is being requested by a remote host. | |
| void | NotifyConnectionSucceeded () |
| Notify through the callback (if set) that the connection has been established. | |
| void | NotifyDataRecv () |
| Notify through the callback (if set) that some data have been received. | |
| void | NotifyDataSent (uint32_t size) |
| Notify through the callback (if set) that some data have been sent. | |
| void | NotifyErrorClose () |
| Notify through the callback (if set) that the connection has been closed due to an error. | |
| void | NotifyNewConnectionCreated (Ptr< Socket > socket, const Address &from) |
| Notify through the callback (if set) that a new connection has been created. | |
| void | NotifyNormalClose () |
| Notify through the callback (if set) that the connection has been closed. | |
| void | NotifySend (uint32_t spaceAvailable) |
| Notify through the callback (if set) that some data have been sent. | |
Protected Member Functions inherited from ns3::Object | |
| Object (const Object &o) | |
| Copy an Object. | |
| virtual void | DoDispose () |
| Destructor implementation. | |
| virtual void | DoInitialize () |
| Initialize() implementation. | |
| virtual void | NotifyNewAggregate () |
| Notify all Objects aggregated to this one of a new Object being aggregated. | |
Protected Member Functions inherited from ns3::ObjectBase | |
| void | ConstructSelf (const AttributeConstructionList &attributes) |
| Complete construction of ObjectBase; invoked by derived classes. | |
| virtual void | NotifyConstructionCompleted () |
| Notifier called once the ObjectBase is fully constructed. | |
Additional Inherited Members | |
Public Types inherited from ns3::TcpSocketMsgBase | |
| typedef Callback< void, Ptr< const Packet >, const TcpHeader &, Ptr< const TcpSocketBase > > | AckManagementCb |
| Callback for the ACK management. | |
| typedef Callback< void, Ptr< const TcpSocketState >, Ptr< const TcpSocketBase > > | RetrCb |
| Callback for the packet retransmission management. | |
| typedef Callback< void, Ptr< const TcpSocketBase >, const SequenceNumber32 &, uint32_t, bool > | UpdateRttCallback |
| Callback for the RTT update management. | |
Public Types inherited from ns3::TcpSocketBase | |
| typedef void(* | TcpTxRxTracedCallback) (const Ptr< const Packet > packet, const TcpHeader &header, const Ptr< const TcpSocketBase > socket) |
| TracedCallback signature for tcp packet transmission or reception events. | |
Public Types inherited from ns3::TcpSocket | |
| enum | TcpStates_t { CLOSED = 0 , LISTEN , SYN_SENT , SYN_RCVD , ESTABLISHED , CLOSE_WAIT , LAST_ACK , FIN_WAIT_1 , FIN_WAIT_2 , CLOSING , TIME_WAIT , LAST_STATE } |
| Names of the 11 TCP states. More... | |
Public Types inherited from ns3::Socket | |
| enum | Ipv6MulticastFilterMode { INCLUDE = 1 , EXCLUDE } |
| Enumeration of the possible filter of a socket. More... | |
| enum | SocketErrno { ERROR_NOTERROR , ERROR_ISCONN , ERROR_NOTCONN , ERROR_MSGSIZE , ERROR_AGAIN , ERROR_SHUTDOWN , ERROR_OPNOTSUPP , ERROR_AFNOSUPPORT , ERROR_INVAL , ERROR_BADF , ERROR_NOROUTETOHOST , ERROR_NODEV , ERROR_ADDRNOTAVAIL , ERROR_ADDRINUSE , SOCKET_ERRNO_LAST } |
| Enumeration of the possible errors returned by a socket. More... | |
| enum | SocketPriority { NS3_PRIO_BESTEFFORT = 0 , NS3_PRIO_FILLER = 1 , NS3_PRIO_BULK = 2 , NS3_PRIO_INTERACTIVE_BULK = 4 , NS3_PRIO_INTERACTIVE = 6 , NS3_PRIO_CONTROL = 7 } |
| Enumeration of the possible socket priorities. More... | |
| enum | SocketType { NS3_SOCK_STREAM , NS3_SOCK_SEQPACKET , NS3_SOCK_DGRAM , NS3_SOCK_RAW } |
| Enumeration of the possible socket types. More... | |
Static Public Attributes inherited from ns3::TcpSocket | |
| static const char *const | TcpStateName [TcpSocket::LAST_STATE] |
| Literal names of TCP states for use in log messages. | |
Static Protected Member Functions inherited from ns3::TcpSocketBase | |
| static uint32_t | SafeSubtraction (uint32_t a, uint32_t b) |
| Performs a safe subtraction between a and b (a-b) | |
Protected Attributes inherited from ns3::TcpSocketBase | |
| TracedValue< uint32_t > | m_advWnd {0} |
| Advertised Window size. | |
| uint32_t | m_bytesAckedNotProcessed {0} |
| Bytes acked, but not processed. | |
| Time | m_clockGranularity {Seconds(0.001)} |
| Clock Granularity used in RTO calcs. | |
| bool | m_closeNotified {false} |
| Told app to close socket. | |
| bool | m_closeOnEmpty {false} |
| Close socket upon tx buffer emptied. | |
| Time | m_cnTimeout {Seconds(0.0)} |
| Timeout for connection retry. | |
| Ptr< TcpCongestionOps > | m_congestionControl |
| Congestion control. | |
| bool | m_connected {false} |
| Connection established. | |
| uint32_t | m_dataRetrCount {0} |
| Count of remaining data retransmission attempts. | |
| uint32_t | m_dataRetries {0} |
| Number of data retransmission attempts. | |
| uint32_t | m_delAckCount {0} |
| Delayed ACK counter. | |
| EventId | m_delAckEvent {} |
| Delayed ACK timeout event. | |
| uint32_t | m_delAckMaxCount {0} |
| Number of packet to fire an ACK before delay timeout. | |
| Time | m_delAckTimeout {Seconds(0.0)} |
| Time to delay an ACK. | |
| uint32_t | m_dupAckCount {0} |
| Dupack counter. | |
| TracedValue< SequenceNumber32 > | m_ecnCESeq |
| Sequence number of the last received Congestion Experienced. | |
| TracedValue< SequenceNumber32 > | m_ecnCWRSeq {0} |
| Sequence number of the last sent CWR. | |
| TracedValue< SequenceNumber32 > | m_ecnEchoSeq |
| Sequence number of the last received ECN Echo. | |
| Ipv4EndPoint * | m_endPoint {nullptr} |
| the IPv4 endpoint | |
| Ipv6EndPoint * | m_endPoint6 {nullptr} |
| the IPv6 endpoint | |
| SocketErrno | m_errno {ERROR_NOTERROR} |
| Socket error code. | |
| TracedValue< SequenceNumber32 > | m_highRxAckMark {0} |
| Highest ack received. | |
| TracedValue< SequenceNumber32 > | m_highRxMark {0} |
| Highest seqno received. | |
| SequenceNumber32 | m_highTxAck {0} |
| Highest ack sent. | |
| std::deque< RttHistory > | m_history |
| List of sent packet. | |
| Callback< void, Ipv4Address, uint8_t, uint8_t, uint8_t, uint32_t > | m_icmpCallback |
| ICMP callback. | |
| Callback< void, Ipv6Address, uint8_t, uint8_t, uint8_t, uint32_t > | m_icmpCallback6 |
| ICMPv6 callback. | |
| bool | m_isFirstPartialAck {true} |
| First partial ACK during RECOVERY. | |
| EventId | m_lastAckEvent {} |
| Last ACK timeout event. | |
| bool | m_limitedTx {true} |
| perform limited transmit | |
| uint16_t | m_maxWinSize {0} |
| Maximum window size to advertise. | |
| Time | m_minRto {Time::Max()} |
| minimum value of the Retransmit timeout | |
| double | m_msl {0.0} |
| Max segment lifetime. | |
| Ptr< Node > | m_node |
| the associated node | |
| bool | m_noDelay {false} |
| Set to true to disable Nagle's algorithm. | |
| Timer | m_pacingTimer {Timer::CANCEL_ON_DESTROY} |
| Pacing Event. | |
| EventId | m_persistEvent {} |
| Persist event: Send 1 byte to probe for a non-zero Rx window. | |
| Time | m_persistTimeout {Seconds(0.0)} |
| Time between sending 1-byte probes. | |
| Ptr< TcpRateOps > | m_rateOps |
| Rate operations. | |
| uint8_t | m_rcvWindShift {0} |
| Window shift to apply to outgoing segments. | |
| SequenceNumber32 | m_recover |
| Previous highest Tx seqnum for fast recovery (set it to initial seq number) | |
| bool | m_recoverActive {false} |
| Whether "m_recover" has been set/activated It is used to avoid comparing with the old m_recover value which was set for handling previous congestion event. | |
| Ptr< TcpRecoveryOps > | m_recoveryOps |
| Recovery Algorithm. | |
| EventId | m_retxEvent {} |
| Retransmission event. | |
| uint32_t | m_retxThresh {3} |
| Fast Retransmit threshold. | |
| TracedValue< Time > | m_rto {Seconds(0.0)} |
| Retransmit timeout. | |
| Ptr< RttEstimator > | m_rtt |
| Round trip time estimator. | |
| TracedValue< uint32_t > | m_rWnd {0} |
| Receiver window (RCV.WND in RFC793) | |
| TracedCallback< Ptr< const Packet >, const TcpHeader &, Ptr< const TcpSocketBase > > | m_rxTrace |
| Trace of received packets. | |
| bool | m_sackEnabled {true} |
| RFC SACK option enabled. | |
| EventId | m_sendPendingDataEvent {} |
| micro-delay event to send pending data | |
| bool | m_shutdownRecv {false} |
| Receive no longer allowed. | |
| bool | m_shutdownSend {false} |
| Send no longer allowed. | |
| uint8_t | m_sndWindShift {0} |
| Window shift to apply to incoming segments. | |
| TracedValue< TcpStates_t > | m_state {CLOSED} |
| TCP state. | |
| uint32_t | m_synCount {0} |
| Count of remaining connection retries. | |
| uint32_t | m_synRetries {0} |
| Number of connection attempts. | |
| Ptr< TcpSocketState > | m_tcb |
| Congestion control information. | |
| Ptr< TcpL4Protocol > | m_tcp |
| the associated TCP L4 protocol | |
| bool | m_timestampEnabled {true} |
| Timestamp option enabled. | |
| uint32_t | m_timestampToEcho {0} |
| Timestamp to echo. | |
| EventId | m_timewaitEvent {} |
| TIME_WAIT expiration event: Move this socket to CLOSED state. | |
| Ptr< TcpTxBuffer > | m_txBuffer |
| Tx buffer. | |
| TracedCallback< Ptr< const Packet >, const TcpHeader &, Ptr< const TcpSocketBase > > | m_txTrace |
| Trace of transmitted packets. | |
| bool | m_winScalingEnabled {true} |
| Window Scale option enabled (RFC 7323) | |
Protected Attributes inherited from ns3::Socket | |
| Ptr< NetDevice > | m_boundnetdevice |
| the device this socket is bound to (might be null). | |
| Ipv6Address | m_ipv6MulticastGroupAddress |
| IPv6 multicast group address. | |
| bool | m_recvPktInfo |
| if the socket should add packet info tags to the packet forwarded to L4. | |
| class | TcpGeneralTest |
| TcpGeneralTest friend class (for tests). | |
Related Functions inherited from ns3::ObjectBase | |
| static TypeId | GetObjectIid () |
| Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
A TCP socket which sends certain data packets with CE flags set for tests 5 and 6.
The SendDataPacket function of this class sends data packets numbered 1 and 3 with CE flags set for test 5 to verify if ECE and CWR bits are correctly set by receiver and sender respectively. It also sets CE flags on data packets 4 and 5 in test case 6 to check if sender reduces congestion window appropriately and also only once per every window.
Definition at line 92 of file tcp-ecn-test.cc.
|
inline |
Definition at line 104 of file tcp-ecn-test.cc.
References m_dataPacketSent.
|
inline |
Constructor.
| other | The object to copy from. |
Definition at line 114 of file tcp-ecn-test.cc.
|
overrideprotectedvirtual |
Call CopyObject<> to clone me.
Reimplemented from ns3::TcpSocketBase.
Definition at line 388 of file tcp-ecn-test.cc.
|
static |
Get the type ID.
Definition at line 134 of file tcp-ecn-test.cc.
References ns3::TypeId::SetParent().
Referenced by ns3::TcpEcnTest::CreateSenderSocket().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overrideprotectedvirtual |
An RTO event happened.
Reimplemented from ns3::TcpSocketBase.
Definition at line 144 of file tcp-ecn-test.cc.
References ns3::TcpSocketBase::ReTxTimeout().
Referenced by SendDataPacket().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overrideprotectedvirtual |
Extract at most maxSize bytes from the TxBuffer at sequence seq, add the TCP header, and send to TcpL4Protocol.
| seq | the sequence number |
| maxSize | the maximum data block to be transmitted (in bytes) |
| withAck | forces an ACK to be sent |
Reimplemented from ns3::TcpSocketBase.
Definition at line 156 of file tcp-ecn-test.cc.
References ns3::TcpHeader::ACK, ns3::TcpSocketBase::AddOptions(), ns3::TcpSocketBase::AdvertisedWindowSize(), ns3::EventId::Cancel(), ns3::TcpSocket::CLOSE_WAIT, ns3::TcpHeader::CWR, ns3::TcpSocketState::ECN_CWR_SENT, ns3::TcpSocketState::ECN_DISABLED, ns3::TcpSocketState::ECN_ECE_RCVD, ns3::TcpSocketState::EcnStateName, ns3::TcpSocket::ESTABLISHED, ns3::TcpHeader::FIN, ns3::TcpSocket::FIN_WAIT_1, ns3::TracedValue< T >::Get(), ns3::Socket::GetIpTos(), ns3::Socket::GetIpTtl(), ns3::Socket::GetIpv6HopLimit(), ns3::Socket::GetIpv6Tclass(), ns3::Ipv4EndPoint::GetLocalAddress(), ns3::Ipv6EndPoint::GetLocalAddress(), ns3::Ipv4EndPoint::GetLocalPort(), ns3::Ipv6EndPoint::GetLocalPort(), ns3::Ipv4EndPoint::GetPeerAddress(), ns3::Ipv6EndPoint::GetPeerAddress(), ns3::Ipv4EndPoint::GetPeerPort(), ns3::Ipv6EndPoint::GetPeerPort(), ns3::Socket::GetPriority(), ns3::Time::GetSeconds(), ns3::EventId::IsExpired(), ns3::Socket::IsManualIpTtl(), ns3::Socket::IsManualIpv6HopLimit(), ns3::Socket::IsManualIpv6Tclass(), ns3::TcpSocket::LAST_ACK, ns3::Socket::m_boundnetdevice, ns3::TcpSocketBase::m_closeOnEmpty, m_dataPacketSent, ns3::TcpSocketBase::m_delAckCount, ns3::TcpSocketBase::m_delAckEvent, ns3::TcpSocketBase::m_ecnCWRSeq, ns3::TcpSocketBase::m_ecnEchoSeq, ns3::TcpSocketState::m_ecnState, ns3::TcpSocketBase::m_endPoint, ns3::TcpSocketBase::m_endPoint6, ns3::TcpSocketState::m_highTxMark, ns3::TcpSocketBase::m_retxEvent, ns3::TcpSocketBase::m_rto, ns3::TcpSocketState::m_rxBuffer, ns3::TcpSocketBase::m_state, ns3::TcpSocketBase::m_tcb, ns3::TcpSocketBase::m_tcp, m_testcase, ns3::TcpSocketBase::m_txBuffer, ns3::TcpSocketBase::m_txTrace, ns3::TcpSocketBase::MarkEcnCe(), ns3::TcpSocketBase::MarkEcnEct0(), ns3::Socket::NotifyDataSent(), ns3::Simulator::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_LOGIC, ReTxTimeout(), ns3::Simulator::Schedule(), ns3::Simulator::ScheduleNow(), ns3::TcpHeader::SetAckNumber(), ns3::TcpHeader::SetDestinationPort(), ns3::TcpHeader::SetFlags(), ns3::SocketIpv6HopLimitTag::SetHopLimit(), ns3::SocketPriorityTag::SetPriority(), ns3::TcpHeader::SetSequenceNumber(), ns3::TcpHeader::SetSourcePort(), ns3::SocketIpv6TclassTag::SetTclass(), ns3::SocketIpTosTag::SetTos(), ns3::SocketIpTtlTag::SetTtl(), ns3::TcpHeader::SetWindowSize(), and ns3::TcpSocketMsgBase::UpdateRttHistory().
Here is the call graph for this function:| void ns3::TcpSocketCongestedRouter::SetTestCase | ( | uint8_t | testCase | ) |
Set the test case type.
| testCase | Test case type |
Definition at line 150 of file tcp-ecn-test.cc.
References m_testcase.
| uint32_t ns3::TcpSocketCongestedRouter::m_dataPacketSent |
Number of packets sent.
Definition at line 101 of file tcp-ecn-test.cc.
Referenced by TcpSocketCongestedRouter(), and SendDataPacket().
| uint8_t ns3::TcpSocketCongestedRouter::m_testcase |
Test case type.
Definition at line 102 of file tcp-ecn-test.cc.
Referenced by SendDataPacket(), and SetTestCase().