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 (void) | |
~ServiceFlowRecord (void) | |
uint32_t | GetBacklogged (void) const |
uint32_t | GetBackloggedTemp (void) const |
uint32_t | GetBwSinceLastExpiry (void) |
uint32_t | GetBytesRcvd (void) const |
uint32_t | GetBytesSent (void) const |
Time | GetDlTimeStamp (void) const |
uint32_t | GetGrantedBandwidth (void) |
uint32_t | GetGrantedBandwidthTemp (void) |
uint32_t | GetGrantSize (void) const |
Time | GetGrantTimeStamp (void) const |
Time | GetLastGrantTime (void) const |
uint32_t | GetPktsRcvd (void) const |
uint32_t | GetPktsSent (void) const |
uint32_t | GetRequestedBandwidth (void) |
void | IncreaseBacklogged (uint32_t backlogged) |
increase backlogged More... | |
void | IncreaseBackloggedTemp (uint32_t backloggedTemp) |
increase temporary back logged More... | |
void | SetBacklogged (uint32_t backlogged) |
set backlogged More... | |
void | SetBackloggedTemp (uint32_t backloggedTemp) |
set temporary back logged More... | |
void | SetBwSinceLastExpiry (uint32_t bwSinceLastExpiry) |
set BW since last expiry More... | |
void | SetBytesRcvd (uint32_t bytesRcvd) |
Set the number of received bytes. More... | |
void | SetBytesSent (uint32_t bytesSent) |
Set the number of sent bytes. More... | |
void | SetDlTimeStamp (Time dlTimeStamp) |
Set the DlTimeStamp. More... | |
void | SetGrantedBandwidth (uint32_t grantedBandwidth) |
set the granted bandwidth More... | |
void | SetGrantedBandwidthTemp (uint32_t grantedBandwidthTemp) |
set the temporary granted bandwidth More... | |
void | SetGrantSize (uint32_t grantSize) |
Set the grant size (only for UGS service flows) More... | |
void | SetGrantTimeStamp (Time grantTimeStamp) |
Set the grant time stamp. More... | |
void | SetLastGrantTime (Time grantTime) |
set last grant time More... | |
void | SetPktsRcvd (uint32_t pktsRcvd) |
Set the number of received packets. More... | |
void | SetPktsSent (uint32_t pktsSent) |
set the number of sent packets in this service flow More... | |
void | SetRequestedBandwidth (uint32_t requestedBandwidth) |
set the requested bandwidth More... | |
void | UpdateBwSinceLastExpiry (uint32_t bwSinceLastExpiry) |
update BW since last expiry More... | |
void | UpdateBytesRcvd (uint32_t bytesRcvd) |
update the number of received bytes by adding bytesRcvd More... | |
void | UpdateBytesSent (uint32_t bytesSent) |
update the number of sent bytes by adding bytesSent More... | |
void | UpdateGrantedBandwidth (uint32_t grantedBandwidth) |
update the granted bandwidth More... | |
void | UpdateGrantedBandwidthTemp (uint32_t grantedBandwidthTemp) |
update the temporary granted bandwidth More... | |
void | UpdatePktsRcvd (uint32_t pktsRcvd) |
update the number of received packets by adding pktsRcvd More... | |
void | UpdatePktsSent (uint32_t pktsSent) |
update the number of sent packets by adding pktsSent More... | |
void | UpdateRequestedBandwidth (uint32_t requestedBandwidth) |
update the requested bandwidth More... | |
Private Attributes | |
int32_t | m_backlogged |
back logged More... | |
int32_t | m_backloggedTemp |
back logged temp More... | |
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 More... | |
uint32_t | m_bytesRcvd |
bytes received More... | |
uint32_t | m_bytesSent |
bytes sent More... | |
Time | m_dlTimeStamp |
time when this service flow's traffic was last sent More... | |
uint32_t | m_grantedBandwidth |
granted badnwidth More... | |
uint32_t | m_grantedBandwidthTemp |
Temporary variable used to sort list. Necessary to keep original order. More... | |
uint32_t | m_grantSize |
only used for UGS flow More... | |
Time | m_grantTimeStamp |
allocation (for data) for UGS flows and unicast poll (for bandwidth requests) for non-UGS flows More... | |
Time | m_lastGrantTime |
last grant time More... | |
uint32_t | m_pktsRcvd |
packets received More... | |
uint32_t | m_pktsSent |
packets sent More... | |
uint32_t | m_requestedBandwidth |
requested bandwidth More... | |
this class implements a structure to manage some parameters and statistics related to a service flow
Definition at line 36 of file service-flow-record.h.
ns3::ServiceFlowRecord::ServiceFlowRecord | ( | void | ) |
Definition at line 25 of file service-flow-record.cc.
References m_backlogged, m_backloggedTemp, m_grantedBandwidthTemp, m_lastGrantTime, and ns3::Seconds().
ns3::ServiceFlowRecord::~ServiceFlowRecord | ( | void | ) |
Definition at line 44 of file service-flow-record.cc.
uint32_t ns3::ServiceFlowRecord::GetBacklogged | ( | void | ) | const |
Definition at line 234 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 | ( | void | ) | const |
Definition at line 252 of file service-flow-record.cc.
References m_backloggedTemp.
Referenced by ns3::UplinkSchedulerMBQoS::CheckMinimumBandwidth().
uint32_t ns3::ServiceFlowRecord::GetBwSinceLastExpiry | ( | void | ) |
Definition at line 270 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 | ( | void | ) | const |
Definition at line 151 of file service-flow-record.cc.
References m_bytesRcvd.
Referenced by ns3::SubscriberStationNetDevice::SendBurst().
uint32_t ns3::ServiceFlowRecord::GetBytesSent | ( | void | ) | const |
Definition at line 133 of file service-flow-record.cc.
References m_bytesSent.
Referenced by ns3::SubscriberStationNetDevice::SendBurst().
Time ns3::ServiceFlowRecord::GetDlTimeStamp | ( | void | ) | const |
Definition at line 79 of file service-flow-record.cc.
References m_dlTimeStamp.
Referenced by ns3::BSSchedulerRtps::BSSchedulerUGSConnection(), and ns3::BSSchedulerSimple::SelectConnection().
uint32_t ns3::ServiceFlowRecord::GetGrantedBandwidth | ( | void | ) |
Definition at line 186 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 | ( | void | ) |
Definition at line 204 of file service-flow-record.cc.
References m_grantedBandwidthTemp.
Referenced by ns3::UplinkSchedulerMBQoS::CheckMinimumBandwidth().
uint32_t ns3::ServiceFlowRecord::GetGrantSize | ( | void | ) | const |
Definition at line 55 of file service-flow-record.cc.
References m_grantSize.
Referenced by ns3::BandwidthManager::CalculateAllocationSize().
Time ns3::ServiceFlowRecord::GetGrantTimeStamp | ( | void | ) | const |
Definition at line 67 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 | ( | void | ) | const |
Definition at line 216 of file service-flow-record.cc.
References m_lastGrantTime.
Referenced by ns3::UplinkSchedulerMBQoS::DetermineDeadline().
uint32_t ns3::ServiceFlowRecord::GetPktsRcvd | ( | void | ) | const |
Definition at line 115 of file service-flow-record.cc.
References m_pktsRcvd.
Referenced by ns3::SubscriberStationNetDevice::SendBurst().
uint32_t ns3::ServiceFlowRecord::GetPktsSent | ( | void | ) | const |
Definition at line 97 of file service-flow-record.cc.
References m_pktsSent.
Referenced by ns3::SubscriberStationNetDevice::SendBurst().
uint32_t ns3::ServiceFlowRecord::GetRequestedBandwidth | ( | void | ) |
Definition at line 168 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 228 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 246 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 222 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 240 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 258 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 139 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 121 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 73 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 174 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 191 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 49 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 alocation for ugs flows, and unicast poll (bw request) for non-UGS flows
grantTimeStamp | the grant time stamp to set |
Definition at line 61 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 210 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 103 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 85 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 157 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 264 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 145 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 127 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 180 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 197 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 109 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 91 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 162 of file service-flow-record.cc.
References m_requestedBandwidth.
Referenced by ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequestsBytes().
|
private |
back logged
Definition at line 247 of file service-flow-record.h.
Referenced by ServiceFlowRecord(), GetBacklogged(), IncreaseBacklogged(), and SetBacklogged().
|
private |
back logged temp
Definition at line 248 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 245 of file service-flow-record.h.
Referenced by GetBwSinceLastExpiry(), SetBwSinceLastExpiry(), and UpdateBwSinceLastExpiry().
|
private |
bytes received
Definition at line 237 of file service-flow-record.h.
Referenced by GetBytesRcvd(), SetBytesRcvd(), and UpdateBytesRcvd().
|
private |
bytes sent
Definition at line 236 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 230 of file service-flow-record.h.
Referenced by GetDlTimeStamp(), and SetDlTimeStamp().
|
private |
granted badnwidth
Definition at line 240 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 241 of file service-flow-record.h.
Referenced by ServiceFlowRecord(), GetGrantedBandwidthTemp(), SetGrantedBandwidthTemp(), and UpdateGrantedBandwidthTemp().
|
private |
only used for UGS flow
Definition at line 228 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 229 of file service-flow-record.h.
Referenced by GetGrantTimeStamp(), and SetGrantTimeStamp().
|
private |
last grant time
Definition at line 246 of file service-flow-record.h.
Referenced by ServiceFlowRecord(), GetLastGrantTime(), and SetLastGrantTime().
|
private |
packets received
Definition at line 234 of file service-flow-record.h.
Referenced by GetPktsRcvd(), SetPktsRcvd(), and UpdatePktsRcvd().
|
private |
packets sent
Definition at line 233 of file service-flow-record.h.
Referenced by GetPktsSent(), SetPktsSent(), and UpdatePktsSent().
|
private |
requested bandwidth
Definition at line 239 of file service-flow-record.h.
Referenced by GetRequestedBandwidth(), SetRequestedBandwidth(), and UpdateRequestedBandwidth().