33 #ifndef TCP_WESTWOOD_H
34 #define TCP_WESTWOOD_H
37 #include "ns3/sequence-number.h"
38 #include "ns3/traced-value.h"
104 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.
FilterType
Filter type (None or Tustin)
double m_lastBW
Last bandwidth sample after being filtered.
void(* Time)(Time oldValue, Time newValue)
TracedValue callback signature for Time.
The NewReno implementation.
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.
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)
int m_ackedSegments
The number of segments ACKed between RTTs.
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.
ProtocolType
Protocol variant (Westwood or Westwood+)
Time m_minRtt
Minimum RTT.
a unique identifier for an interface.
An implementation of a stream socket using TCP.
enum ProtocolType m_pType
0 for Westwood, 1 for Westwood+