this class implements a structure to manage some parameters and statistics related to a service flow More...
#include "service-flow-record.h"
Public Member Functions | |
ServiceFlowRecord () | |
~ServiceFlowRecord () | |
uint32_t | GetBacklogged () const |
uint32_t | GetBackloggedTemp () const |
uint32_t | GetBwSinceLastExpiry () const |
uint32_t | GetBytesRcvd () const |
uint32_t | GetBytesSent () const |
Time | GetDlTimeStamp () const |
uint32_t | GetGrantedBandwidth () const |
uint32_t | GetGrantedBandwidthTemp () const |
uint32_t | GetGrantSize () const |
Time | GetGrantTimeStamp () const |
Time | GetLastGrantTime () const |
uint32_t | GetPktsRcvd () const |
uint32_t | GetPktsSent () const |
uint32_t | GetRequestedBandwidth () const |
void | IncreaseBacklogged (uint32_t backlogged) |
increase backlogged | |
void | IncreaseBackloggedTemp (uint32_t backloggedTemp) |
increase temporary back logged | |
void | SetBacklogged (uint32_t backlogged) |
set backlogged | |
void | SetBackloggedTemp (uint32_t backloggedTemp) |
set temporary back logged | |
void | SetBwSinceLastExpiry (uint32_t bwSinceLastExpiry) |
set BW since last expiry | |
void | SetBytesRcvd (uint32_t bytesRcvd) |
Set the number of received bytes. | |
void | SetBytesSent (uint32_t bytesSent) |
Set the number of sent bytes. | |
void | SetDlTimeStamp (Time dlTimeStamp) |
Set the DlTimeStamp. | |
void | SetGrantedBandwidth (uint32_t grantedBandwidth) |
set the granted bandwidth | |
void | SetGrantedBandwidthTemp (uint32_t grantedBandwidthTemp) |
set the temporary granted bandwidth | |
void | SetGrantSize (uint32_t grantSize) |
Set the grant size (only for UGS service flows) | |
void | SetGrantTimeStamp (Time grantTimeStamp) |
Set the grant time stamp. | |
void | SetLastGrantTime (Time grantTime) |
set last grant time | |
void | SetPktsRcvd (uint32_t pktsRcvd) |
Set the number of received packets. | |
void | SetPktsSent (uint32_t pktsSent) |
set the number of sent packets in this service flow | |
void | SetRequestedBandwidth (uint32_t requestedBandwidth) |
set the requested bandwidth | |
void | UpdateBwSinceLastExpiry (uint32_t bwSinceLastExpiry) |
update BW since last expiry | |
void | UpdateBytesRcvd (uint32_t bytesRcvd) |
update the number of received bytes by adding bytesRcvd | |
void | UpdateBytesSent (uint32_t bytesSent) |
update the number of sent bytes by adding bytesSent | |
void | UpdateGrantedBandwidth (uint32_t grantedBandwidth) |
update the granted bandwidth | |
void | UpdateGrantedBandwidthTemp (uint32_t grantedBandwidthTemp) |
update the temporary granted bandwidth | |
void | UpdatePktsRcvd (uint32_t pktsRcvd) |
update the number of received packets by adding pktsRcvd | |
void | UpdatePktsSent (uint32_t pktsSent) |
update the number of sent packets by adding pktsSent | |
void | UpdateRequestedBandwidth (uint32_t requestedBandwidth) |
update the requested bandwidth | |
Private Attributes | |
int32_t | m_backlogged |
back logged | |
int32_t | m_backloggedTemp |
back logged temp | |
uint32_t | m_bwSinceLastExpiry |
bandwidth granted since last expiry of minimum reserved traffic rate interval, only for nrtPS, to make sure minimum reserved traffic rate is maintained | |
uint32_t | m_bytesRcvd |
bytes received | |
uint32_t | m_bytesSent |
bytes sent | |
Time | m_dlTimeStamp |
time when this service flow's traffic was last sent | |
uint32_t | m_grantedBandwidth |
granted badnwidth | |
uint32_t | m_grantedBandwidthTemp |
Temporary variable used to sort list. | |
uint32_t | m_grantSize |
only used for UGS flow | |
Time | m_grantTimeStamp |
allocation (for data) for UGS flows and unicast poll (for bandwidth requests) for non-UGS flows | |
Time | m_lastGrantTime |
last grant time | |
uint32_t | m_pktsRcvd |
packets received | |
uint32_t | m_pktsSent |
packets sent | |
uint32_t | m_requestedBandwidth |
requested bandwidth | |
this class implements a structure to manage some parameters and statistics related to a service flow
Definition at line 28 of file service-flow-record.h.
ns3::ServiceFlowRecord::ServiceFlowRecord | ( | ) |
Definition at line 14 of file service-flow-record.cc.
References m_backlogged, m_backloggedTemp, m_grantedBandwidthTemp, m_lastGrantTime, and ns3::Seconds().
ns3::ServiceFlowRecord::~ServiceFlowRecord | ( | ) |
Definition at line 32 of file service-flow-record.cc.
uint32_t ns3::ServiceFlowRecord::GetBacklogged | ( | ) | const |
Definition at line 223 of file service-flow-record.cc.
References m_backlogged.
Referenced by ns3::UplinkSchedulerMBQoS::CheckMinimumBandwidth(), ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequests(), and ns3::UplinkSchedulerMBQoS::UplinkSchedWindowTimer().
uint32_t ns3::ServiceFlowRecord::GetBackloggedTemp | ( | ) | const |
Definition at line 241 of file service-flow-record.cc.
References m_backloggedTemp.
Referenced by ns3::UplinkSchedulerMBQoS::CheckMinimumBandwidth().
uint32_t ns3::ServiceFlowRecord::GetBwSinceLastExpiry | ( | ) | const |
Definition at line 259 of file service-flow-record.cc.
References m_bwSinceLastExpiry.
Referenced by ns3::UplinkSchedulerMBQoS::CheckMinimumBandwidth(), ns3::UplinkSchedulerRtps::ServiceUnsolicitedGrants(), ns3::UplinkSchedulerSimple::ServiceUnsolicitedGrants(), and ns3::UplinkSchedulerMBQoS::UplinkSchedWindowTimer().
uint32_t ns3::ServiceFlowRecord::GetBytesRcvd | ( | ) | const |
Definition at line 139 of file service-flow-record.cc.
References m_bytesRcvd.
Referenced by ns3::SubscriberStationNetDevice::SendBurst().
uint32_t ns3::ServiceFlowRecord::GetBytesSent | ( | ) | const |
Definition at line 121 of file service-flow-record.cc.
References m_bytesSent.
Referenced by ns3::SubscriberStationNetDevice::SendBurst().
Time ns3::ServiceFlowRecord::GetDlTimeStamp | ( | ) | const |
Definition at line 67 of file service-flow-record.cc.
References m_dlTimeStamp.
Referenced by ns3::BSSchedulerRtps::BSSchedulerUGSConnection(), and ns3::BSSchedulerSimple::SelectConnection().
uint32_t ns3::ServiceFlowRecord::GetGrantedBandwidth | ( | ) | const |
Definition at line 175 of file service-flow-record.cc.
References m_grantedBandwidth.
Referenced by ns3::UplinkSchedulerMBQoS::CheckMinimumBandwidth(), ns3::UplinkSchedulerMBQoS::CountSymbolsJobs(), ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequests(), ns3::UplinkSchedulerRtps::ServiceBandwidthRequests(), ns3::UplinkSchedulerSimple::ServiceBandwidthRequests(), and ns3::UplinkSchedulerRtps::ULSchedulerRTPSConnection().
uint32_t ns3::ServiceFlowRecord::GetGrantedBandwidthTemp | ( | ) | const |
Definition at line 193 of file service-flow-record.cc.
References m_grantedBandwidthTemp.
Referenced by ns3::UplinkSchedulerMBQoS::CheckMinimumBandwidth().
uint32_t ns3::ServiceFlowRecord::GetGrantSize | ( | ) | const |
Definition at line 43 of file service-flow-record.cc.
References m_grantSize.
Referenced by ns3::BandwidthManager::CalculateAllocationSize().
Time ns3::ServiceFlowRecord::GetGrantTimeStamp | ( | ) | const |
Definition at line 55 of file service-flow-record.cc.
References m_grantTimeStamp.
Referenced by ns3::BandwidthManager::CalculateAllocationSize(), ns3::UplinkSchedulerMBQoS::CountSymbolsJobs(), ns3::UplinkSchedulerRtps::ServiceUnsolicitedGrants(), and ns3::UplinkSchedulerSimple::ServiceUnsolicitedGrants().
Time ns3::ServiceFlowRecord::GetLastGrantTime | ( | ) | const |
Definition at line 205 of file service-flow-record.cc.
References m_lastGrantTime.
Referenced by ns3::UplinkSchedulerMBQoS::DetermineDeadline().
uint32_t ns3::ServiceFlowRecord::GetPktsRcvd | ( | ) | const |
Definition at line 103 of file service-flow-record.cc.
References m_pktsRcvd.
Referenced by ns3::SubscriberStationNetDevice::SendBurst().
uint32_t ns3::ServiceFlowRecord::GetPktsSent | ( | ) | const |
Definition at line 85 of file service-flow-record.cc.
References m_pktsSent.
Referenced by ns3::SubscriberStationNetDevice::SendBurst().
uint32_t ns3::ServiceFlowRecord::GetRequestedBandwidth | ( | ) | const |
Definition at line 157 of file service-flow-record.cc.
References m_requestedBandwidth.
Referenced by ns3::UplinkSchedulerMBQoS::CheckMinimumBandwidth(), ns3::UplinkSchedulerMBQoS::CountSymbolsJobs(), ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequests(), ns3::UplinkSchedulerRtps::ServiceBandwidthRequests(), ns3::UplinkSchedulerSimple::ServiceBandwidthRequests(), ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequestsBytes(), and ns3::UplinkSchedulerRtps::ULSchedulerRTPSConnection().
void ns3::ServiceFlowRecord::IncreaseBacklogged | ( | uint32_t | backlogged | ) |
increase backlogged
backlogged | the number of backlogged to update |
Definition at line 217 of file service-flow-record.cc.
References m_backlogged.
Referenced by ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequests().
void ns3::ServiceFlowRecord::IncreaseBackloggedTemp | ( | uint32_t | backloggedTemp | ) |
increase temporary back logged
backloggedTemp | the temporary backlogged value |
Definition at line 235 of file service-flow-record.cc.
References m_backloggedTemp.
void ns3::ServiceFlowRecord::SetBacklogged | ( | uint32_t | backlogged | ) |
set backlogged
backlogged | number of backlogged |
Definition at line 211 of file service-flow-record.cc.
References m_backlogged.
Referenced by ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequests().
void ns3::ServiceFlowRecord::SetBackloggedTemp | ( | uint32_t | backloggedTemp | ) |
set temporary back logged
backloggedTemp | the temporary backlogged value |
Definition at line 229 of file service-flow-record.cc.
References m_backloggedTemp.
Referenced by ns3::UplinkSchedulerMBQoS::CheckMinimumBandwidth().
void ns3::ServiceFlowRecord::SetBwSinceLastExpiry | ( | uint32_t | bwSinceLastExpiry | ) |
set BW since last expiry
bwSinceLastExpiry | bandwidth since last expiry |
Definition at line 247 of file service-flow-record.cc.
References m_bwSinceLastExpiry.
Referenced by ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequests(), ns3::UplinkSchedulerRtps::ServiceBandwidthRequests(), ns3::UplinkSchedulerSimple::ServiceBandwidthRequests(), ns3::UplinkSchedulerRtps::ServiceUnsolicitedGrants(), ns3::UplinkSchedulerSimple::ServiceUnsolicitedGrants(), and ns3::UplinkSchedulerMBQoS::UplinkSchedWindowTimer().
void ns3::ServiceFlowRecord::SetBytesRcvd | ( | uint32_t | bytesRcvd | ) |
Set the number of received bytes.
bytesRcvd | the number of received bytes |
Definition at line 127 of file service-flow-record.cc.
References m_bytesRcvd.
void ns3::ServiceFlowRecord::SetBytesSent | ( | uint32_t | bytesSent | ) |
Set the number of sent bytes.
bytesSent | the number of sent bytes |
Definition at line 109 of file service-flow-record.cc.
References m_bytesSent.
void ns3::ServiceFlowRecord::SetDlTimeStamp | ( | Time | dlTimeStamp | ) |
Set the DlTimeStamp.
dlTimeStamp | time when this service flow's traffic was last sent. |
Definition at line 61 of file service-flow-record.cc.
References m_dlTimeStamp.
Referenced by ns3::BSSchedulerRtps::BSSchedulerRTPSConnection(), ns3::BSSchedulerRtps::BSSchedulerUGSConnection(), and ns3::BSSchedulerSimple::SelectConnection().
void ns3::ServiceFlowRecord::SetGrantedBandwidth | ( | uint32_t | grantedBandwidth | ) |
set the granted bandwidth
grantedBandwidth | the granted bandwidth |
Definition at line 163 of file service-flow-record.cc.
References m_grantedBandwidth.
Referenced by ns3::UplinkSchedulerRtps::OnSetRequestedBandwidth(), ns3::UplinkSchedulerSimple::OnSetRequestedBandwidth(), and ns3::UplinkSchedulerRtps::ULSchedulerRTPSConnection().
void ns3::ServiceFlowRecord::SetGrantedBandwidthTemp | ( | uint32_t | grantedBandwidthTemp | ) |
set the temporary granted bandwidth
grantedBandwidthTemp | the temporary granted bandwidth |
Definition at line 181 of file service-flow-record.cc.
References m_grantedBandwidthTemp.
Referenced by ns3::UplinkSchedulerMBQoS::CheckMinimumBandwidth().
void ns3::ServiceFlowRecord::SetGrantSize | ( | uint32_t | grantSize | ) |
Set the grant size (only for UGS service flows)
grantSize | the grant size to set |
Definition at line 37 of file service-flow-record.cc.
References m_grantSize.
Referenced by ns3::UplinkSchedulerMBQoS::SetupServiceFlow(), ns3::UplinkSchedulerRtps::SetupServiceFlow(), and ns3::UplinkSchedulerSimple::SetupServiceFlow().
void ns3::ServiceFlowRecord::SetGrantTimeStamp | ( | Time | grantTimeStamp | ) |
Set the grant time stamp.
Used for data allocation for ugs flows, and unicast poll (bw request) for non-UGS flows
grantTimeStamp | the grant time stamp to set |
Definition at line 49 of file service-flow-record.cc.
References m_grantTimeStamp.
Referenced by ns3::BandwidthManager::CalculateAllocationSize(), ns3::UplinkSchedulerRtps::ServiceUnsolicitedGrants(), and ns3::UplinkSchedulerSimple::ServiceUnsolicitedGrants().
void ns3::ServiceFlowRecord::SetLastGrantTime | ( | Time | grantTime | ) |
set last grant time
grantTime | grant time to set |
Definition at line 199 of file service-flow-record.cc.
References m_lastGrantTime.
Referenced by ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequests(), and ns3::UplinkSchedulerMBQoS::ServiceUnsolicitedGrants().
void ns3::ServiceFlowRecord::SetPktsRcvd | ( | uint32_t | pktsRcvd | ) |
Set the number of received packets.
pktsRcvd | The number of received packets |
Definition at line 91 of file service-flow-record.cc.
References m_pktsRcvd.
void ns3::ServiceFlowRecord::SetPktsSent | ( | uint32_t | pktsSent | ) |
set the number of sent packets in this service flow
pktsSent | the number of sent packets |
Definition at line 73 of file service-flow-record.cc.
References m_pktsSent.
void ns3::ServiceFlowRecord::SetRequestedBandwidth | ( | uint32_t | requestedBandwidth | ) |
set the requested bandwidth
requestedBandwidth | the requested bandwidth |
Definition at line 145 of file service-flow-record.cc.
References m_requestedBandwidth.
Referenced by ns3::UplinkSchedulerRtps::ULSchedulerRTPSConnection().
void ns3::ServiceFlowRecord::UpdateBwSinceLastExpiry | ( | uint32_t | bwSinceLastExpiry | ) |
update BW since last expiry
bwSinceLastExpiry | bandwidth since last expiry |
Definition at line 253 of file service-flow-record.cc.
References m_bwSinceLastExpiry.
Referenced by ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequestsBytes(), and ns3::UplinkSchedulerMBQoS::UplinkSchedWindowTimer().
void ns3::ServiceFlowRecord::UpdateBytesRcvd | ( | uint32_t | bytesRcvd | ) |
update the number of received bytes by adding bytesRcvd
bytesRcvd | the number of bytes to add |
Definition at line 133 of file service-flow-record.cc.
References m_bytesRcvd.
Referenced by ns3::SubscriberStationNetDevice::DoReceive().
void ns3::ServiceFlowRecord::UpdateBytesSent | ( | uint32_t | bytesSent | ) |
update the number of sent bytes by adding bytesSent
bytesSent | the number of bytes to add |
Definition at line 115 of file service-flow-record.cc.
References m_bytesSent.
Referenced by ns3::SubscriberStationNetDevice::SendBurst().
void ns3::ServiceFlowRecord::UpdateGrantedBandwidth | ( | uint32_t | grantedBandwidth | ) |
update the granted bandwidth
grantedBandwidth | the granted bandwidth update |
Definition at line 169 of file service-flow-record.cc.
References m_grantedBandwidth.
Referenced by ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequests(), ns3::UplinkSchedulerRtps::ServiceBandwidthRequests(), ns3::UplinkSchedulerSimple::ServiceBandwidthRequests(), ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequestsBytes(), and ns3::UplinkSchedulerRtps::ULSchedulerRTPSConnection().
void ns3::ServiceFlowRecord::UpdateGrantedBandwidthTemp | ( | uint32_t | grantedBandwidthTemp | ) |
update the temporary granted bandwidth
grantedBandwidthTemp | the temporary granted bandwidth |
Definition at line 187 of file service-flow-record.cc.
References m_grantedBandwidthTemp.
Referenced by ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequestsBytes().
void ns3::ServiceFlowRecord::UpdatePktsRcvd | ( | uint32_t | pktsRcvd | ) |
update the number of received packets by adding pktsRcvd
pktsRcvd | the number of received packets to add |
Definition at line 97 of file service-flow-record.cc.
References m_pktsRcvd.
Referenced by ns3::SubscriberStationNetDevice::DoReceive().
void ns3::ServiceFlowRecord::UpdatePktsSent | ( | uint32_t | pktsSent | ) |
update the number of sent packets by adding pktsSent
pktsSent | the number of sent packets to add |
Definition at line 79 of file service-flow-record.cc.
References m_pktsSent.
Referenced by ns3::SubscriberStationNetDevice::SendBurst().
void ns3::ServiceFlowRecord::UpdateRequestedBandwidth | ( | uint32_t | requestedBandwidth | ) |
update the requested bandwidth
requestedBandwidth | the requested bandwidth update |
Definition at line 151 of file service-flow-record.cc.
References m_requestedBandwidth.
Referenced by ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequestsBytes().
|
private |
back logged
Definition at line 242 of file service-flow-record.h.
Referenced by ServiceFlowRecord(), GetBacklogged(), IncreaseBacklogged(), and SetBacklogged().
|
private |
back logged temp
Definition at line 243 of file service-flow-record.h.
Referenced by ServiceFlowRecord(), GetBackloggedTemp(), IncreaseBackloggedTemp(), and SetBackloggedTemp().
|
private |
bandwidth granted since last expiry of minimum reserved traffic rate interval, only for nrtPS, to make sure minimum reserved traffic rate is maintained
Definition at line 240 of file service-flow-record.h.
Referenced by GetBwSinceLastExpiry(), SetBwSinceLastExpiry(), and UpdateBwSinceLastExpiry().
|
private |
bytes received
Definition at line 231 of file service-flow-record.h.
Referenced by GetBytesRcvd(), SetBytesRcvd(), and UpdateBytesRcvd().
|
private |
bytes sent
Definition at line 230 of file service-flow-record.h.
Referenced by GetBytesSent(), SetBytesSent(), and UpdateBytesSent().
|
private |
time when this service flow's traffic was last sent
Definition at line 224 of file service-flow-record.h.
Referenced by GetDlTimeStamp(), and SetDlTimeStamp().
|
private |
granted badnwidth
Definition at line 234 of file service-flow-record.h.
Referenced by GetGrantedBandwidth(), SetGrantedBandwidth(), and UpdateGrantedBandwidth().
|
private |
Temporary variable used to sort list.
Necessary to keep original order
Definition at line 235 of file service-flow-record.h.
Referenced by ServiceFlowRecord(), GetGrantedBandwidthTemp(), SetGrantedBandwidthTemp(), and UpdateGrantedBandwidthTemp().
|
private |
only used for UGS flow
Definition at line 221 of file service-flow-record.h.
Referenced by GetGrantSize(), and SetGrantSize().
|
private |
allocation (for data) for UGS flows and unicast poll (for bandwidth requests) for non-UGS flows
Definition at line 222 of file service-flow-record.h.
Referenced by GetGrantTimeStamp(), and SetGrantTimeStamp().
|
private |
last grant time
Definition at line 241 of file service-flow-record.h.
Referenced by ServiceFlowRecord(), GetLastGrantTime(), and SetLastGrantTime().
|
private |
packets received
Definition at line 228 of file service-flow-record.h.
Referenced by GetPktsRcvd(), SetPktsRcvd(), and UpdatePktsRcvd().
|
private |
packets sent
Definition at line 227 of file service-flow-record.h.
Referenced by GetPktsSent(), SetPktsSent(), and UpdatePktsSent().
|
private |
requested bandwidth
Definition at line 233 of file service-flow-record.h.
Referenced by GetRequestedBandwidth(), SetRequestedBandwidth(), and UpdateRequestedBandwidth().