33 #ifndef TCP_WESTWOOD_H
34 #define TCP_WESTWOOD_H
37 #include "ns3/sequence-number.h"
38 #include "ns3/traced-value.h"
101 uint32_t bytesInFlight);
EventId m_bwEstimateEvent
The BW estimation event for Westwood+.
Simulation virtual time values and global simulation resolution.
Smart pointer class similar to boost::intrusive_ptr.
double m_lastBW
Last bandwidth sample after being filtered.
void(* Time)(Time oldValue, Time newValue)
TracedValue callback signature for Time.
The NewReno implementation.
FilterType
Filter type (None or Tustin)
virtual void PktsAcked(Ptr< TcpSocketState > tcb, uint32_t packetsAcked, const Time &rtt)
Timing information on received ACK.
enum FilterType m_fType
0 for none, 1 for Tustin
void UpdateAckedSegments(int acked)
Update the total number of acknowledged packets during the current RTT.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ProtocolType
Protocol variant (Westwood or Westwood+)
static TypeId GetTypeId(void)
Get the type ID.
virtual uint32_t GetSsThresh(Ptr< const TcpSocketState > tcb, uint32_t bytesInFlight)
Get the slow start threshold after a loss event.
virtual ~TcpWestwood(void)
An identifier for simulation events.
virtual Ptr< TcpCongestionOps > Fork()
Copy the congestion control algorithm across socket.
double m_lastSampleBW
Last bandwidth sample.
void EstimateBW(const Time &rtt, Ptr< TcpSocketState > tcb)
Estimate the network's bandwidth.
TracedValue< double > m_currentBW
Current value of the estimated BW.
bool m_IsCount
Start keeping track of m_ackedSegments for Westwood+ if TRUE.
a unique identifier for an interface.
uint32_t m_ackedSegments
The number of segments ACKed between RTTs.
An implementation of TCP Westwood and Westwood+.
enum ProtocolType m_pType
0 for Westwood, 1 for Westwood+