A Discrete-Event Network Simulator
API
ns3::ServiceFlowRecord Class Reference

this class implements a structure to manage some parameters and statistics related to a service flow More...

#include "service-flow-record.h"

+ Collaboration diagram for ns3::ServiceFlowRecord:

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...
 

Detailed Description

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.

Constructor & Destructor Documentation

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().

+ Here is the call graph for this function:

ns3::ServiceFlowRecord::~ServiceFlowRecord ( void  )

Definition at line 44 of file service-flow-record.cc.

Member Function Documentation

uint32_t ns3::ServiceFlowRecord::GetBacklogged ( void  ) const
Returns
The number of backlogged

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().

+ Here is the caller graph for this function:

uint32_t ns3::ServiceFlowRecord::GetBackloggedTemp ( void  ) const
Returns
The value of temporary backlogged

Definition at line 252 of file service-flow-record.cc.

References m_backloggedTemp.

Referenced by ns3::UplinkSchedulerMBQoS::CheckMinimumBandwidth().

+ Here is the caller graph for this function:

uint32_t ns3::ServiceFlowRecord::GetBwSinceLastExpiry ( void  )
uint32_t ns3::ServiceFlowRecord::GetBytesRcvd ( void  ) const
Returns
The number of received bytes

Definition at line 151 of file service-flow-record.cc.

References m_bytesRcvd.

Referenced by ns3::SubscriberStationNetDevice::SendBurst().

+ Here is the caller graph for this function:

uint32_t ns3::ServiceFlowRecord::GetBytesSent ( void  ) const
Returns
The number of sent bytes

Definition at line 133 of file service-flow-record.cc.

References m_bytesSent.

Referenced by ns3::SubscriberStationNetDevice::SendBurst().

+ Here is the caller graph for this function:

Time ns3::ServiceFlowRecord::GetDlTimeStamp ( void  ) const
Returns
the DlTimeStamp: time when this service flow's traffic was last sent

Definition at line 79 of file service-flow-record.cc.

References m_dlTimeStamp.

Referenced by ns3::BSSchedulerRtps::BSSchedulerUGSConnection(), and ns3::BSSchedulerSimple::SelectConnection().

+ Here is the caller graph for this function:

uint32_t ns3::ServiceFlowRecord::GetGrantedBandwidthTemp ( void  )
Returns
The temporary granted bandwidth

Definition at line 204 of file service-flow-record.cc.

References m_grantedBandwidthTemp.

Referenced by ns3::UplinkSchedulerMBQoS::CheckMinimumBandwidth().

+ Here is the caller graph for this function:

uint32_t ns3::ServiceFlowRecord::GetGrantSize ( void  ) const
Returns
the grant size (only for ugs service flows)

Definition at line 55 of file service-flow-record.cc.

References m_grantSize.

Referenced by ns3::BandwidthManager::CalculateAllocationSize().

+ Here is the caller graph for this function:

Time ns3::ServiceFlowRecord::GetGrantTimeStamp ( void  ) const
Returns
the grant time stamp. Used for data allocation for ugs flows, and unicast poll (bw request) for non-UGS flows

Definition at line 67 of file service-flow-record.cc.

References m_grantTimeStamp.

Referenced by ns3::BandwidthManager::CalculateAllocationSize(), ns3::UplinkSchedulerMBQoS::CountSymbolsJobs(), ns3::UplinkSchedulerSimple::ServiceUnsolicitedGrants(), and ns3::UplinkSchedulerRtps::ServiceUnsolicitedGrants().

+ Here is the caller graph for this function:

Time ns3::ServiceFlowRecord::GetLastGrantTime ( void  ) const
Returns
The last grant time

Definition at line 216 of file service-flow-record.cc.

References m_lastGrantTime.

Referenced by ns3::UplinkSchedulerMBQoS::DetermineDeadline().

+ Here is the caller graph for this function:

uint32_t ns3::ServiceFlowRecord::GetPktsRcvd ( void  ) const
Returns
the number of received packet

Definition at line 115 of file service-flow-record.cc.

References m_pktsRcvd.

Referenced by ns3::SubscriberStationNetDevice::SendBurst().

+ Here is the caller graph for this function:

uint32_t ns3::ServiceFlowRecord::GetPktsSent ( void  ) const
Returns
the number of sent packet in this service flow

Definition at line 97 of file service-flow-record.cc.

References m_pktsSent.

Referenced by ns3::SubscriberStationNetDevice::SendBurst().

+ Here is the caller graph for this function:

void ns3::ServiceFlowRecord::IncreaseBacklogged ( uint32_t  backlogged)

increase backlogged

Parameters
backloggedthe number of backlogged to update

Definition at line 228 of file service-flow-record.cc.

References m_backlogged.

Referenced by ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequests().

+ Here is the caller graph for this function:

void ns3::ServiceFlowRecord::IncreaseBackloggedTemp ( uint32_t  backloggedTemp)

increase temporary back logged

Parameters
backloggedTempthe 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

Parameters
backloggednumber of backlogged

Definition at line 222 of file service-flow-record.cc.

References m_backlogged.

Referenced by ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequests().

+ Here is the caller graph for this function:

void ns3::ServiceFlowRecord::SetBackloggedTemp ( uint32_t  backloggedTemp)

set temporary back logged

Parameters
backloggedTempthe temporary backlogged value

Definition at line 240 of file service-flow-record.cc.

References m_backloggedTemp.

Referenced by ns3::UplinkSchedulerMBQoS::CheckMinimumBandwidth().

+ Here is the caller graph for this function:

void ns3::ServiceFlowRecord::SetBwSinceLastExpiry ( uint32_t  bwSinceLastExpiry)
void ns3::ServiceFlowRecord::SetBytesRcvd ( uint32_t  bytesRcvd)

Set the number of received bytes.

Parameters
bytesRcvdthe 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.

Parameters
bytesSentthe 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.

Parameters
dlTimeStamptime 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().

+ Here is the caller graph for this function:

void ns3::ServiceFlowRecord::SetGrantedBandwidth ( uint32_t  grantedBandwidth)

set the granted bandwidth

Parameters
grantedBandwidththe granted bandwidth

Definition at line 174 of file service-flow-record.cc.

References m_grantedBandwidth.

Referenced by ns3::UplinkSchedulerSimple::OnSetRequestedBandwidth(), ns3::UplinkSchedulerRtps::OnSetRequestedBandwidth(), and ns3::UplinkSchedulerRtps::ULSchedulerRTPSConnection().

+ Here is the caller graph for this function:

void ns3::ServiceFlowRecord::SetGrantedBandwidthTemp ( uint32_t  grantedBandwidthTemp)

set the temporary granted bandwidth

Parameters
grantedBandwidthTempthe temporary granted bandwidth

Definition at line 191 of file service-flow-record.cc.

References m_grantedBandwidthTemp.

Referenced by ns3::UplinkSchedulerMBQoS::CheckMinimumBandwidth().

+ Here is the caller graph for this function:

void ns3::ServiceFlowRecord::SetGrantSize ( uint32_t  grantSize)

Set the grant size (only for UGS service flows)

Parameters
grantSizethe grant size to set

Definition at line 49 of file service-flow-record.cc.

References m_grantSize.

Referenced by ns3::UplinkSchedulerSimple::SetupServiceFlow(), ns3::UplinkSchedulerMBQoS::SetupServiceFlow(), and ns3::UplinkSchedulerRtps::SetupServiceFlow().

+ Here is the caller graph for this function:

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

Parameters
grantTimeStampthe grant time stamp to set

Definition at line 61 of file service-flow-record.cc.

References m_grantTimeStamp.

Referenced by ns3::BandwidthManager::CalculateAllocationSize(), ns3::UplinkSchedulerSimple::ServiceUnsolicitedGrants(), and ns3::UplinkSchedulerRtps::ServiceUnsolicitedGrants().

+ Here is the caller graph for this function:

void ns3::ServiceFlowRecord::SetLastGrantTime ( Time  grantTime)

set last grant time

Parameters
grantTimegrant 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().

+ Here is the caller graph for this function:

void ns3::ServiceFlowRecord::SetPktsRcvd ( uint32_t  pktsRcvd)

Set the number of received packets.

Parameters
pktsRcvdThe 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

Parameters
pktsSentthe 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

Parameters
requestedBandwidththe requested bandwidth

Definition at line 157 of file service-flow-record.cc.

References m_requestedBandwidth.

Referenced by ns3::UplinkSchedulerRtps::ULSchedulerRTPSConnection().

+ Here is the caller graph for this function:

void ns3::ServiceFlowRecord::UpdateBwSinceLastExpiry ( uint32_t  bwSinceLastExpiry)

update BW since last expiry

Parameters
bwSinceLastExpirybandwith 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().

+ Here is the caller graph for this function:

void ns3::ServiceFlowRecord::UpdateBytesRcvd ( uint32_t  bytesRcvd)

update the number of received bytes by adding bytesRcvd

Parameters
bytesRcvdthe number of bytes to add

Definition at line 145 of file service-flow-record.cc.

References m_bytesRcvd.

Referenced by ns3::SubscriberStationNetDevice::DoReceive().

+ Here is the caller graph for this function:

void ns3::ServiceFlowRecord::UpdateBytesSent ( uint32_t  bytesSent)

update the number of sent bytes by adding bytesSent

Parameters
bytesSentthe number of bytes to add

Definition at line 127 of file service-flow-record.cc.

References m_bytesSent.

Referenced by ns3::SubscriberStationNetDevice::SendBurst().

+ Here is the caller graph for this function:

void ns3::ServiceFlowRecord::UpdateGrantedBandwidth ( uint32_t  grantedBandwidth)
void ns3::ServiceFlowRecord::UpdateGrantedBandwidthTemp ( uint32_t  grantedBandwidthTemp)

update the temporary granted bandwidth

Parameters
grantedBandwidthTempthe temporary granted bandwidth

Definition at line 197 of file service-flow-record.cc.

References m_grantedBandwidthTemp.

Referenced by ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequestsBytes().

+ Here is the caller graph for this function:

void ns3::ServiceFlowRecord::UpdatePktsRcvd ( uint32_t  pktsRcvd)

update the number of received packets by adding pktsRcvd

Parameters
pktsRcvdthe number of received packets to add

Definition at line 109 of file service-flow-record.cc.

References m_pktsRcvd.

Referenced by ns3::SubscriberStationNetDevice::DoReceive().

+ Here is the caller graph for this function:

void ns3::ServiceFlowRecord::UpdatePktsSent ( uint32_t  pktsSent)

update the number of sent packets by adding pktsSent

Parameters
pktsSentthe number of sent packets to add

Definition at line 91 of file service-flow-record.cc.

References m_pktsSent.

Referenced by ns3::SubscriberStationNetDevice::SendBurst().

+ Here is the caller graph for this function:

void ns3::ServiceFlowRecord::UpdateRequestedBandwidth ( uint32_t  requestedBandwidth)

update the requested bandwidth

Parameters
requestedBandwidththe requested bandwidth update

Definition at line 162 of file service-flow-record.cc.

References m_requestedBandwidth.

Referenced by ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequestsBytes().

+ Here is the caller graph for this function:

Member Data Documentation

int32_t ns3::ServiceFlowRecord::m_backlogged
private

back logged

Definition at line 247 of file service-flow-record.h.

Referenced by GetBacklogged(), IncreaseBacklogged(), ServiceFlowRecord(), and SetBacklogged().

int32_t ns3::ServiceFlowRecord::m_backloggedTemp
private

back logged temp

Definition at line 248 of file service-flow-record.h.

Referenced by GetBackloggedTemp(), IncreaseBackloggedTemp(), ServiceFlowRecord(), and SetBackloggedTemp().

uint32_t ns3::ServiceFlowRecord::m_bwSinceLastExpiry
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().

uint32_t ns3::ServiceFlowRecord::m_bytesRcvd
private

bytes received

Definition at line 237 of file service-flow-record.h.

Referenced by GetBytesRcvd(), SetBytesRcvd(), and UpdateBytesRcvd().

uint32_t ns3::ServiceFlowRecord::m_bytesSent
private

bytes sent

Definition at line 236 of file service-flow-record.h.

Referenced by GetBytesSent(), SetBytesSent(), and UpdateBytesSent().

Time ns3::ServiceFlowRecord::m_dlTimeStamp
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().

uint32_t ns3::ServiceFlowRecord::m_grantedBandwidth
private

granted badnwidth

Definition at line 240 of file service-flow-record.h.

Referenced by GetGrantedBandwidth(), SetGrantedBandwidth(), and UpdateGrantedBandwidth().

uint32_t ns3::ServiceFlowRecord::m_grantedBandwidthTemp
private

Temporary variable used to sort list. Necessary to keep original order.

Definition at line 241 of file service-flow-record.h.

Referenced by GetGrantedBandwidthTemp(), ServiceFlowRecord(), SetGrantedBandwidthTemp(), and UpdateGrantedBandwidthTemp().

uint32_t ns3::ServiceFlowRecord::m_grantSize
private

only used for UGS flow

Definition at line 228 of file service-flow-record.h.

Referenced by GetGrantSize(), and SetGrantSize().

Time ns3::ServiceFlowRecord::m_grantTimeStamp
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().

Time ns3::ServiceFlowRecord::m_lastGrantTime
private

last grant time

Definition at line 246 of file service-flow-record.h.

Referenced by GetLastGrantTime(), ServiceFlowRecord(), and SetLastGrantTime().

uint32_t ns3::ServiceFlowRecord::m_pktsRcvd
private

packets received

Definition at line 234 of file service-flow-record.h.

Referenced by GetPktsRcvd(), SetPktsRcvd(), and UpdatePktsRcvd().

uint32_t ns3::ServiceFlowRecord::m_pktsSent
private

packets sent

Definition at line 233 of file service-flow-record.h.

Referenced by GetPktsSent(), SetPktsSent(), and UpdatePktsSent().

uint32_t ns3::ServiceFlowRecord::m_requestedBandwidth
private

requested bandwidth

Definition at line 239 of file service-flow-record.h.

Referenced by GetRequestedBandwidth(), SetRequestedBandwidth(), and UpdateRequestedBandwidth().


The documentation for this class was generated from the following files: