ns3::SatBeamScheduler::SatUtInfo Class Reference

UT information helper class for SatBeamScheduler. More...

+ Inheritance diagram for ns3::SatBeamScheduler::SatUtInfo:
+ Collaboration diagram for ns3::SatBeamScheduler::SatUtInfo:

Public Member Functions

 SatUtInfo (Ptr< SatDamaEntry > damaEntry, Ptr< SatCnoEstimator > cnoEstimator, Time controlSlotOffset, bool controlSlotsEnabled)
 Construct SatUtInfo. More...
 
void AddCnoSample (double sample)
 Add C/N0 sample to UT info's estimator. More...
 
void AddCrMsg (Ptr< SatCrMessage > crMsg)
 Add CR message to UT info to be used when capacity request is calculated next time (method UpdateDamaEntryFromCrs is called). More...
 
void ClearCrMsgs ()
 Remove all CR messages from UT info to reset capacity requests in case of handover. More...
 
double GetCnoEstimation ()
 Get estimated C/N0 value based on added samples. More...
 
Ptr< SatDamaEntryGetDamaEntry ()
 Get damaEntry of the UT info. More...
 
bool IsControlSlotGenerationTime () const
 Check if time is expired to send control slot. More...
 
void SetControlSlotGenerationTime (Time offset)
 Set time for next time slot generation for this UT. More...
 
void UpdateDamaEntryFromCrs ()
 Update DamaEntry with information of the received CR messages. More...
 

Private Types

typedef std::vector< Ptr< SatCrMessage > > CrMsgContainer_t
 Container to store received CR messages. More...
 

Private Attributes

Ptr< SatCnoEstimatorm_cnoEstimator
 Estimator for the C/N0. More...
 
Time m_controlSlotGenerationTime
 Time to send next control time slot. More...
 
bool m_controlSlotsEnabled
 Flag to indicated if control time slots generation is enabled. More...
 
CrMsgContainer_t m_crContainer
 Received CRs since last update round (call of the method UpdateDamaEntryFromCrs). More...
 
Ptr< SatDamaEntrym_damaEntry
 DamaEntry of this UT info. More...
 

Detailed Description

UT information helper class for SatBeamScheduler.

Stores capacity request and C/N0 estimation information of the UT.

Definition at line 288 of file satellite-beam-scheduler.h.

Member Typedef Documentation

◆ CrMsgContainer_t

Container to store received CR messages.

Definition at line 363 of file satellite-beam-scheduler.h.

Constructor & Destructor Documentation

◆ SatUtInfo()

ns3::SatBeamScheduler::SatUtInfo::SatUtInfo ( Ptr< SatDamaEntry damaEntry,
Ptr< SatCnoEstimator cnoEstimator,
Time  controlSlotOffset,
bool  controlSlotsEnabled 
)

Construct SatUtInfo.

Parameters
damaEntryDamaEntry for created UT info.
cnoEstimatorC/N0 estimator for the UT info.
controlSlotOffsetOffset of the current moment to generate control slot.
controlSlotsEnabledFlag to tell if control slots generation is enabled according to controlSlotOffset

Definition at line 56 of file satellite-beam-scheduler.cc.

References SetControlSlotGenerationTime().

+ Here is the call graph for this function:

Member Function Documentation

◆ AddCnoSample()

void ns3::SatBeamScheduler::SatUtInfo::AddCnoSample ( double  sample)

Add C/N0 sample to UT info's estimator.

Parameters
sampleC/N0 sample value to add.

Definition at line 139 of file satellite-beam-scheduler.cc.

◆ AddCrMsg()

void ns3::SatBeamScheduler::SatUtInfo::AddCrMsg ( Ptr< SatCrMessage crMsg)

Add CR message to UT info to be used when capacity request is calculated next time (method UpdateDamaEntryFromCrs is called).

Parameters
crMsg

Definition at line 147 of file satellite-beam-scheduler.cc.

◆ ClearCrMsgs()

void ns3::SatBeamScheduler::SatUtInfo::ClearCrMsgs ( )

Remove all CR messages from UT info to reset capacity requests in case of handover.

Definition at line 155 of file satellite-beam-scheduler.cc.

◆ GetCnoEstimation()

double ns3::SatBeamScheduler::SatUtInfo::GetCnoEstimation ( )

Get estimated C/N0 value based on added samples.

Returns
C/N0 estimation.

Definition at line 131 of file satellite-beam-scheduler.cc.

◆ GetDamaEntry()

Ptr< SatDamaEntry > ns3::SatBeamScheduler::SatUtInfo::GetDamaEntry ( )

Get damaEntry of the UT info.

Returns
Pointer to DamEntry of the UT info.

Definition at line 70 of file satellite-beam-scheduler.cc.

◆ IsControlSlotGenerationTime()

bool ns3::SatBeamScheduler::SatUtInfo::IsControlSlotGenerationTime ( ) const

Check if time is expired to send control slot.

Returns
Status of control slot generation time.

Definition at line 163 of file satellite-beam-scheduler.cc.

References ns3::SatBeamScheduler::m_controlSlotsEnabled.

◆ SetControlSlotGenerationTime()

void ns3::SatBeamScheduler::SatUtInfo::SetControlSlotGenerationTime ( Time  offset)

Set time for next time slot generation for this UT.

Parameters
offsetOffset of the current moment to generate control slot.

Definition at line 178 of file satellite-beam-scheduler.cc.

Referenced by SatUtInfo().

+ Here is the caller graph for this function:

◆ UpdateDamaEntryFromCrs()

void ns3::SatBeamScheduler::SatUtInfo::UpdateDamaEntryFromCrs ( )

Update DamaEntry with information of the received CR messages.

Definition at line 78 of file satellite-beam-scheduler.cc.

References ns3::SatEnums::DA_AVBDC, ns3::SatEnums::DA_RBDC, and ns3::SatEnums::DA_VBDC.

Member Data Documentation

◆ m_cnoEstimator

Ptr<SatCnoEstimator> ns3::SatBeamScheduler::SatUtInfo::m_cnoEstimator
private

Estimator for the C/N0.

Definition at line 373 of file satellite-beam-scheduler.h.

◆ m_controlSlotGenerationTime

Time ns3::SatBeamScheduler::SatUtInfo::m_controlSlotGenerationTime
private

Time to send next control time slot.

Definition at line 383 of file satellite-beam-scheduler.h.

◆ m_controlSlotsEnabled

bool ns3::SatBeamScheduler::SatUtInfo::m_controlSlotsEnabled
private

Flag to indicated if control time slots generation is enabled.

Definition at line 388 of file satellite-beam-scheduler.h.

◆ m_crContainer

CrMsgContainer_t ns3::SatBeamScheduler::SatUtInfo::m_crContainer
private

Received CRs since last update round (call of the method UpdateDamaEntryFromCrs).

Definition at line 378 of file satellite-beam-scheduler.h.

◆ m_damaEntry

Ptr<SatDamaEntry> ns3::SatBeamScheduler::SatUtInfo::m_damaEntry
private

DamaEntry of this UT info.

Definition at line 368 of file satellite-beam-scheduler.h.


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