ns3::SatSchedulingObject Class Reference

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"

+ Inheritance diagram for ns3::SatSchedulingObject:
+ Collaboration diagram for ns3::SatSchedulingObject:

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
 

Detailed Description

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 40 of file satellite-scheduling-object.h.

Constructor & Destructor Documentation

◆ SatSchedulingObject() [1/2]

ns3::SatSchedulingObject::SatSchedulingObject ( )

Default constructor.

Default constructor is not meant to be used!

Definition at line 31 of file satellite-scheduling-object.cc.

◆ SatSchedulingObject() [2/2]

ns3::SatSchedulingObject::SatSchedulingObject ( Mac48Address  addr,
uint32_t  bytes,
uint32_t  minTxOpportunity,
Time  holDelay,
uint8_t  flowId 
)

Default constructor.

Parameters
addrMAC address of an UT
bytesAmount of bytes at an encapsulator
minTxOpportunityMinimum size of the Tx opportunity to be able to create a packet.
holDelayHead of line queuing delay
flowIdFlow identifier

Definition at line 46 of file satellite-scheduling-object.cc.

◆ ~SatSchedulingObject()

ns3::SatSchedulingObject::~SatSchedulingObject ( )
virtual

Destructor.

Definition at line 60 of file satellite-scheduling-object.cc.

Member Function Documentation

◆ GetBufferedBytes()

uint32_t ns3::SatSchedulingObject::GetBufferedBytes ( ) const

Get buffered bytes of this object.

Returns
Buffered bytes

Definition at line 72 of file satellite-scheduling-object.cc.

References m_bufferedBytes.

◆ GetFlowId()

uint8_t ns3::SatSchedulingObject::GetFlowId ( ) const

Get the flow identifier of the scheduling object.

This may be used as priority as well.

Returns
Flow identifier

Definition at line 86 of file satellite-scheduling-object.cc.

References m_flowId.

◆ GetHolDelay()

Time ns3::SatSchedulingObject::GetHolDelay ( ) const

Get HOL delay of the object.

Returns
HOL delay of the object in Time.

Definition at line 93 of file satellite-scheduling-object.cc.

References m_holDelay.

◆ GetMacAddress()

Mac48Address ns3::SatSchedulingObject::GetMacAddress ( ) const

Get the MAC address of this object.

Returns
Mac48Address MAC address

Definition at line 65 of file satellite-scheduling-object.cc.

References m_macAddress.

◆ GetMinTxOpportunityInBytes()

uint32_t ns3::SatSchedulingObject::GetMinTxOpportunityInBytes ( ) const

Get minimum Tx opportunity in bytes.

Returns
Minimum Tx opportunity in bytes

Definition at line 79 of file satellite-scheduling-object.cc.

References m_minTxOpportunity.

Member Data Documentation

◆ m_bufferedBytes

uint32_t ns3::SatSchedulingObject::m_bufferedBytes
private

Definition at line 101 of file satellite-scheduling-object.h.

Referenced by GetBufferedBytes().

◆ m_flowId

uint8_t ns3::SatSchedulingObject::m_flowId
private

Definition at line 104 of file satellite-scheduling-object.h.

Referenced by GetFlowId().

◆ m_holDelay

Time ns3::SatSchedulingObject::m_holDelay
private

Definition at line 103 of file satellite-scheduling-object.h.

Referenced by GetHolDelay().

◆ m_macAddress

Mac48Address ns3::SatSchedulingObject::m_macAddress
private

Definition at line 100 of file satellite-scheduling-object.h.

Referenced by GetMacAddress().

◆ m_minTxOpportunity

uint32_t ns3::SatSchedulingObject::m_minTxOpportunity
private

Definition at line 102 of file satellite-scheduling-object.h.

Referenced by GetMinTxOpportunityInBytes().


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