Rate Sample structure. More...
#include "tcp-rate-ops.h"
Public Member Functions | |
bool | IsValid () const |
Is the sample valid? More... | |
Public Attributes | |
uint32_t | m_ackedSacked {0} |
The amount of data acked and sacked in the last received ack. More... | |
Time | m_ackElapsed |
ACK time interval calculated from the most recent packet delivered. More... | |
uint32_t | m_bytesLoss |
The amount of data marked as lost from the most recent ack received. More... | |
int32_t | m_delivered |
The amount of data marked as delivered over the sampling interval. More... | |
DataRate | m_deliveryRate {DataRate("0bps")} |
The delivery rate sample. More... | |
Time | m_interval {Seconds(0.0)} |
The length of the sampling interval. More... | |
bool | m_isAppLimited {false} |
Indicates whether the rate sample is application-limited. More... | |
uint32_t | m_priorDelivered {0} |
The delivered count of the most recent packet delivered. More... | |
uint32_t | m_priorInFlight {0} |
The value if bytes in flight prior to last received ack. More... | |
Time | m_priorTime {Seconds(0.0)} |
The delivered time of the most recent packet delivered. More... | |
Time | m_sendElapsed |
Send time interval calculated from the most recent packet delivered. More... | |
Rate Sample structure.
A rate sample measures the number of (original/retransmitted) data packets delivered "delivered" over an interval of time "interval_us". The tcp_rate code fills in the rate sample, and congestion control modules that define a cong_control function to run at the end of ACK processing can optionally chose to consult this sample when setting cwnd and pacing rate. A sample is invalid if "delivered" or "interval_us" is negative.
Definition at line 139 of file tcp-rate-ops.h.
|
inline |
Is the sample valid?
Definition at line 161 of file tcp-rate-ops.h.
References m_interval, m_priorTime, and ns3::Seconds().
uint32_t ns3::TcpRateOps::TcpRateSample::m_ackedSacked {0} |
The amount of data acked and sacked in the last received ack.
Definition at line 155 of file tcp-rate-ops.h.
Referenced by ns3::TcpRateLinux::GenerateSample(), ns3::TcpBbr::ModulateCwndForRecovery(), ns3::operator<<(), ns3::TcpBbr::SetCwnd(), and ns3::TcpBbr::UpdateAckAggregation().
Time ns3::TcpRateOps::TcpRateSample::m_ackElapsed |
ACK time interval calculated from the most recent packet delivered.
Definition at line 150 of file tcp-rate-ops.h.
Referenced by ns3::TcpRateLinux::GenerateSample(), ns3::operator<<(), ns3::operator==(), and ns3::TcpRateLinux::SkbDelivered().
uint32_t ns3::TcpRateOps::TcpRateSample::m_bytesLoss |
The amount of data marked as lost from the most recent ack received.
Definition at line 152 of file tcp-rate-ops.h.
Referenced by ns3::TcpRateLinux::GenerateSample(), ns3::TcpBbr::IsNextCyclePhase(), ns3::TcpBbr::ModulateCwndForRecovery(), and ns3::operator<<().
int32_t ns3::TcpRateOps::TcpRateSample::m_delivered |
The amount of data marked as delivered over the sampling interval.
Definition at line 144 of file tcp-rate-ops.h.
Referenced by ns3::TcpBbr::CheckProbeRTT(), ns3::TcpRateLinux::GenerateSample(), ns3::operator<<(), ns3::operator==(), and ns3::TcpBbr::UpdateAckAggregation().
The delivery rate sample.
Definition at line 141 of file tcp-rate-ops.h.
Referenced by ns3::TcpRateLinux::GenerateSample(), ns3::operator<<(), ns3::operator==(), and ns3::TcpBbr::UpdateBtlBw().
The length of the sampling interval.
Definition at line 143 of file tcp-rate-ops.h.
Referenced by ns3::TcpRateLinux::GenerateSample(), IsValid(), ns3::operator<<(), and ns3::operator==().
bool ns3::TcpRateOps::TcpRateSample::m_isAppLimited {false} |
Indicates whether the rate sample is application-limited.
Definition at line 142 of file tcp-rate-ops.h.
Referenced by ns3::TcpBbr::CheckFullPipe(), ns3::TcpRateLinux::GenerateSample(), ns3::TcpBbr::HandleRestartFromIdle(), ns3::operator<<(), ns3::operator==(), ns3::TcpRateLinux::SkbDelivered(), and ns3::TcpBbr::UpdateBtlBw().
uint32_t ns3::TcpRateOps::TcpRateSample::m_priorDelivered {0} |
The delivered count of the most recent packet delivered.
Definition at line 146 of file tcp-rate-ops.h.
Referenced by ns3::TcpRateLinux::GenerateSample(), ns3::operator<<(), ns3::operator==(), ns3::TcpRateLinux::SkbDelivered(), and ns3::TcpBbr::UpdateRound().
uint32_t ns3::TcpRateOps::TcpRateSample::m_priorInFlight {0} |
The value if bytes in flight prior to last received ack.
Definition at line 154 of file tcp-rate-ops.h.
Referenced by ns3::TcpRateLinux::GenerateSample(), ns3::TcpBbr::IsNextCyclePhase(), and ns3::operator<<().
The delivered time of the most recent packet delivered.
Definition at line 147 of file tcp-rate-ops.h.
Referenced by ns3::TcpRateLinux::GenerateSample(), IsValid(), ns3::operator<<(), ns3::operator==(), and ns3::TcpRateLinux::SkbDelivered().
Time ns3::TcpRateOps::TcpRateSample::m_sendElapsed |
Send time interval calculated from the most recent packet delivered.
Definition at line 148 of file tcp-rate-ops.h.
Referenced by ns3::TcpRateLinux::GenerateSample(), ns3::operator<<(), ns3::operator==(), and ns3::TcpRateLinux::SkbDelivered().