SatSchedulingObject is on object which passes the LLC/encapsulator layer related information for MAC layer to be used by the scheduler (either at GW by the forward link scheduler or at the UT by the RTN link UT scheduler). More...
#include "satellite-scheduling-object.h"
Public Member Functions | |
SatSchedulingObject () | |
Default constructor. More... | |
SatSchedulingObject (Mac48Address addr, uint32_t bytes, uint32_t minTxOpportunity, Time holDelay, uint8_t flowId) | |
Default constructor. More... | |
virtual | ~SatSchedulingObject () |
Destructor. More... | |
uint32_t | GetBufferedBytes () const |
Get buffered bytes of this object. More... | |
uint8_t | GetFlowId () const |
Get the flow identifier of the scheduling object. More... | |
Time | GetHolDelay () const |
Get HOL delay of the object. More... | |
Mac48Address | GetMacAddress () const |
Get the MAC address of this object. More... | |
uint32_t | GetMinTxOpportunityInBytes () const |
Get minimum Tx opportunity in bytes. More... | |
Private Attributes | |
uint32_t | m_bufferedBytes |
uint8_t | m_flowId |
Time | m_holDelay |
Mac48Address | m_macAddress |
uint32_t | m_minTxOpportunity |
SatSchedulingObject is on object which passes the LLC/encapsulator layer related information for MAC layer to be used by the scheduler (either at GW by the forward link scheduler or at the UT by the RTN link UT scheduler).
One scheduling object holds information from one single LLC encapsulator (MAC address, flow identifier). Scheduler may analyze the data and decide how to divide the MAC Tx opportunity bytes between UTs (MAC address) and flows (flow id).
Definition at line 42 of file satellite-scheduling-object.h.
ns3::SatSchedulingObject::SatSchedulingObject | ( | ) |
Default constructor.
Default constructor is not meant to be used!
Definition at line 31 of file satellite-scheduling-object.cc.
ns3::SatSchedulingObject::SatSchedulingObject | ( | Mac48Address | addr, |
uint32_t | bytes, | ||
uint32_t | minTxOpportunity, | ||
Time | holDelay, | ||
uint8_t | flowId | ||
) |
Default constructor.
addr | MAC address of an UT |
bytes | Amount of bytes at an encapsulator |
minTxOpportunity | Minimum size of the Tx opportunity to be able to create a packet. |
holDelay | Head of line queuing delay |
flowId | Flow identifier |
Definition at line 46 of file satellite-scheduling-object.cc.
|
virtual |
Destructor.
Definition at line 60 of file satellite-scheduling-object.cc.
uint32_t ns3::SatSchedulingObject::GetBufferedBytes | ( | ) | const |
Get buffered bytes of this object.
Definition at line 72 of file satellite-scheduling-object.cc.
References m_bufferedBytes.
uint8_t ns3::SatSchedulingObject::GetFlowId | ( | ) | const |
Get the flow identifier of the scheduling object.
This may be used as priority as well.
Definition at line 86 of file satellite-scheduling-object.cc.
References m_flowId.
Time ns3::SatSchedulingObject::GetHolDelay | ( | ) | const |
Get HOL delay of the object.
Definition at line 93 of file satellite-scheduling-object.cc.
References m_holDelay.
Mac48Address ns3::SatSchedulingObject::GetMacAddress | ( | ) | const |
Get the MAC address of this object.
Definition at line 65 of file satellite-scheduling-object.cc.
References m_macAddress.
uint32_t ns3::SatSchedulingObject::GetMinTxOpportunityInBytes | ( | ) | const |
Get minimum Tx opportunity in bytes.
Definition at line 79 of file satellite-scheduling-object.cc.
References m_minTxOpportunity.
|
private |
Definition at line 103 of file satellite-scheduling-object.h.
Referenced by GetBufferedBytes().
|
private |
Definition at line 106 of file satellite-scheduling-object.h.
Referenced by GetFlowId().
|
private |
Definition at line 105 of file satellite-scheduling-object.h.
Referenced by GetHolDelay().
|
private |
Definition at line 102 of file satellite-scheduling-object.h.
Referenced by GetMacAddress().
|
private |
Definition at line 104 of file satellite-scheduling-object.h.
Referenced by GetMinTxOpportunityInBytes().