class for module Beam Scheduler. More...
#include "satellite-beam-scheduler.h"
Classes | |
class | CnoCompare |
CnoCompare class to sort UT request according to C/N0 information. More... | |
class | SatUtInfo |
UT information helper class for SatBeamScheduler. More... | |
Public Types | |
typedef void(* | BacklogRequestsTraceCallback) (std::string trace) |
Callback signature for BacklogRequestsTrace trace source. More... | |
typedef void(* | ExceedingCapacityTraceCallback) (uint32_t exceedingCapacity) |
Callback signature for the ExceedingCapacityTrace trace source. More... | |
enum | HandoverInformationForward_t { BASIC , CHECK_GATEWAY } |
Strategies to exchange informations between beams. More... | |
typedef Callback< bool, Ptr< SatControlMessage >, const Address & > | SendCtrlMsgCallback |
typedef Callback< void, Ptr< SatTbtpMessage > > | SendTbtpCallback |
typedef Callback< void, uint32_t, Ptr< SatTbtpMessage > > | TbtpAddCallback |
typedef void(* | UnmetCapacityTraceCallback) (uint32_t unmetCapacity) |
Callback signature for the UnmetCapacityTrace trace source. More... | |
typedef void(* | UsableCapacityTraceCallback) (uint32_t usableCapacity) |
Callback signature for the UsableCapacityTrace trace source. More... | |
typedef void(* | WaveformTraceCallback) (uint32_t waveformId) |
Callback signature for WaveformTrace trace source. More... | |
Public Member Functions | |
SatBeamScheduler () | |
Construct a SatBeamScheduler. More... | |
~SatBeamScheduler () | |
Destroy a SatBeamScheduler. More... | |
uint32_t | AddUt (Address utId, Ptr< SatLowerLayerServiceConf > llsConf) |
Add UT to scheduler. More... | |
Ptr< SatTimuMessage > | CreateTimu () const |
Create a TIM unicast message containing enough data for a terminal to connect to the beam handled by this SatBeamScheduler. More... | |
Address | GetGwAddress (void) const |
Return the address of the gateway responsible of this beam. More... | |
bool | HasUt (Address utId) |
Check whether an UT is handled by this scheduler. More... | |
void | Initialize (uint32_t beamId, SatBeamScheduler::SendCtrlMsgCallback cb, Ptr< SatSuperframeSeq > seq, uint32_t maxFrameSizeInBytes, Address gwAddress) |
void | RemoveUt (Address utId) |
Remove a UT from its SatBeamScheduler. More... | |
void | ReserveLogonChannel (uint32_t logonChannelId) |
bool | Send (Ptr< SatControlMessage > message) |
Send control messages to the beam. More... | |
bool | SendTo (Ptr< SatControlMessage > message, Address utId) |
Send control message to an UT into the beam. More... | |
bool | SendToSatellite (Ptr< SatControlMessage > msg, Address satelliteMac) |
Send control message to the satellite. More... | |
void | SetSendTbtpCallback (SendTbtpCallback cb) |
Set the callback to inform NCC a TBTP has been sent. More... | |
void | TransferUtToBeam (Address utId, Ptr< SatBeamScheduler > destination) |
Transfer ownership of a terminal to the given SatBeamScheduler. More... | |
void | UpdateSatelliteCno (Address satelliteMac, double cno) |
Update satellite C/N0 info with the latest value. More... | |
void | UpdateUtCno (Address utId, double cno) |
Update UT C/N0 info with the latest value. More... | |
void | UtCrReceived (Address utId, Ptr< SatCrMessage > crMsg) |
Receive capacity requests from UTs. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Private Types | |
typedef std::map< Address, Ptr< SatUtInfo > > | UtInfoMap_t |
Map container to store UT information. More... | |
typedef std::list< UtReqInfoItem_t > | UtReqInfoContainer_t |
Container to store capacity request information for the UTs. More... | |
typedef std::pair< Address, SatFrameAllocator::SatFrameAllocReq > | UtReqInfoItem_t |
Pair to store capacity request information for the UT. More... | |
Private Member Functions | |
void | AddRaChannels (std::vector< Ptr< SatTbtpMessage >> &tbtpContainer) |
Add RA channel information to TBTP(s). More... | |
void | AddUtInfo (Address utId, Ptr< SatUtInfo > utInfo) |
Ptr< SatCnoEstimator > | CreateCnoEstimator () |
Create estimator for the UT according to set attributes. More... | |
void | DoDispose (void) |
Dispose actions for SatBeamScheduler. More... | |
void | DoPreResourceAllocation () |
Do pre-allocation of the symbols per UT/RC, before time slot generation. More... | |
void | RemoveUtInfo (UtInfoMap_t::iterator iterator) |
void | Schedule () |
Schedule UTs added (registered) to scheduler. More... | |
void | SendCnoToSatellite () |
Send an estimation of cno to satellite, if samples have been received. More... | |
uint32_t | UpdateDamaEntriesWithAllocs (SatFrameAllocator::UtAllocInfoContainer_t &utAllocContainer) |
Update dama entries with given allocations at end of the scheduling. More... | |
uint32_t | UpdateDamaEntriesWithReqs () |
Update dama entries with received requests at beginning of the scheduling. More... | |
Private Attributes | |
TracedCallback< std::string > | m_backlogRequestsTrace |
Trace for backlog requests done to beam scheduler. More... | |
uint32_t | m_beamId |
ID of the beam. More... | |
Time | m_cnoEstimationWindow |
Time window for C/N0 estimation. More... | |
SatCnoEstimator::EstimationMode_t | m_cnoEstimatorMode |
Mode used for C/N0 estimator. More... | |
Time | m_controlSlotInterval |
Interval to generate control time slots. More... | |
bool | m_controlSlotsEnabled |
Flag to indicated if control time slots generation is enabled. More... | |
TracedCallback< uint32_t > | m_exceedingCapacityTrace |
Trace exceeding capacity. More... | |
TracedCallback< uint32_t, double > | m_frameLoadTrace |
Trace frame load ratio. More... | |
TracedCallback< uint32_t, uint32_t > | m_frameUtLoadTrace |
Trace count of UTs scheduled per Frame. More... | |
Address | m_gwAddress |
HandoverInformationForward_t | m_handoverStrategy |
uint32_t | m_logonChannelIndex |
Logon channel ID to exclude it from the RA channel selection. More... | |
uint32_t | m_maxBbFrameSize |
Maximum size of the BB frame. More... | |
Time | m_maxTbtpTxAndProcessingDelay |
Maximum TBTP tx and processing delay estimate at the GW (scheduler). More... | |
Time | m_maxTwoWayPropagationDelay |
Maximum two-way propagation delay estimate between GW-SAT-UT-SAT-GW. More... | |
Ptr< RandomVariableStream > | m_raChRandomIndex |
Random variable stream to select RA channel for a UT. More... | |
bool | m_receivedSatelliteCnoSample |
Indicates if Cno sample have been received since last C/N0 control message sent. More... | |
Ptr< SatCnoEstimator > | m_satelliteCnoEstimator |
Estimator for the C/N0 from satellite. More... | |
Address | m_satelliteMac |
MAC address of the satellite (used when regenerative) More... | |
Ptr< SatSuperframeAllocator > | m_superframeAllocator |
Superframe allocator to maintain load information of the frames and their configurations. More... | |
SatEnums::SuperframeAllocatorType_t | m_superframeAllocatorType |
Type of SatSuperframeAllocator class to use. More... | |
uint32_t | m_superFrameCounter |
Counter for super frame sequence. More... | |
Ptr< SatSuperframeSeq > | m_superframeSeq |
Pointer to super frame sequence. More... | |
SatBeamScheduler::SendCtrlMsgCallback | m_txCallback |
The control message send callback. More... | |
SatBeamScheduler::SendTbtpCallback | m_txTbtpCallback |
The TBTP send callback to inform GW Mac. More... | |
TracedCallback< uint32_t > | m_unmetCapacityTrace |
Trace unmet capacity. More... | |
TracedCallback< uint32_t > | m_usableCapacityTrace |
Trace usable capacity. More... | |
UtInfoMap_t | m_utInfos |
Map to store UT information in beam for updating purposes. More... | |
UtReqInfoContainer_t | m_utRequestInfos |
Container including every UT's allocation requests. More... | |
TracedCallback< uint32_t > | m_waveformTrace |
Trace first wave form scheduled for the UT. More... | |
class for module Beam Scheduler.
This SatBeamScheduler class implements scheduler used to for one specific beam. It's is created and used by NCC.
The scheduling process is briefly:
TBTP signaling (generation)
One scheduler per spot-beam is created and utilized.
Definition at line 73 of file satellite-beam-scheduler.h.
typedef void(* ns3::SatBeamScheduler::BacklogRequestsTraceCallback) (std::string trace) |
Callback signature for BacklogRequestsTrace
trace source.
trace | A string containing the following information:
|
Definition at line 221 of file satellite-beam-scheduler.h.
typedef void(* ns3::SatBeamScheduler::ExceedingCapacityTraceCallback) (uint32_t exceedingCapacity) |
Callback signature for the ExceedingCapacityTrace
trace source.
exceedingCapacity | The amount capacity offered exceeds capacity requested, in kbps. |
Definition at line 251 of file satellite-beam-scheduler.h.
typedef Callback<bool, Ptr<SatControlMessage>, const Address&> ns3::SatBeamScheduler::SendCtrlMsgCallback |
msg | the message send |
address | Packet destination address |
Definition at line 112 of file satellite-beam-scheduler.h.
typedef Callback<void, Ptr<SatTbtpMessage> > ns3::SatBeamScheduler::SendTbtpCallback |
msg | the TBTP sent |
Definition at line 117 of file satellite-beam-scheduler.h.
typedef Callback<void, uint32_t, Ptr<SatTbtpMessage> > ns3::SatBeamScheduler::TbtpAddCallback |
id | Id of the TBTP message to add. |
tbtp | Pointer to the TBTP message to add. |
Definition at line 123 of file satellite-beam-scheduler.h.
typedef void(* ns3::SatBeamScheduler::UnmetCapacityTraceCallback) (uint32_t unmetCapacity) |
Callback signature for the UnmetCapacityTrace
trace source.
unmetCapacity | The amount of capacity requested but not used, in kbps. |
Definition at line 243 of file satellite-beam-scheduler.h.
typedef void(* ns3::SatBeamScheduler::UsableCapacityTraceCallback) (uint32_t usableCapacity) |
Callback signature for the UsableCapacityTrace
trace source.
usableCapacity | The amount of capacity allocated, in kbps. |
Definition at line 235 of file satellite-beam-scheduler.h.
|
private |
Map container to store UT information.
Definition at line 399 of file satellite-beam-scheduler.h.
|
private |
Container to store capacity request information for the UTs.
Definition at line 404 of file satellite-beam-scheduler.h.
|
private |
Pair to store capacity request information for the UT.
Definition at line 394 of file satellite-beam-scheduler.h.
typedef void(* ns3::SatBeamScheduler::WaveformTraceCallback) (uint32_t waveformId) |
Callback signature for WaveformTrace
trace source.
waveformId | The first waveform scheduled for a UT. |
Definition at line 228 of file satellite-beam-scheduler.h.
Strategies to exchange informations between beams.
Enumerator | |
---|---|
BASIC | |
CHECK_GATEWAY |
Definition at line 80 of file satellite-beam-scheduler.h.
ns3::SatBeamScheduler::SatBeamScheduler | ( | ) |
Construct a SatBeamScheduler.
This is the constructor for the SatBeamScheduler
Definition at line 277 of file satellite-beam-scheduler.cc.
ns3::SatBeamScheduler::~SatBeamScheduler | ( | ) |
Destroy a SatBeamScheduler.
This is the destructor for the SatBeamScheduler.
Definition at line 292 of file satellite-beam-scheduler.cc.
|
private |
Add RA channel information to TBTP(s).
tbtpContainer | Reference to container including TBTPs already and to be added. |
Definition at line 686 of file satellite-beam-scheduler.cc.
References m_maxBbFrameSize, m_superframeSeq, and ns3::SatConstVariables::SUPERFRAME_SEQUENCE.
Referenced by Schedule().
uint32_t ns3::SatBeamScheduler::AddUt | ( | Address | utId, |
Ptr< SatLowerLayerServiceConf > | llsConf | ||
) |
Add UT to scheduler.
utId | ID (mac address) of the UT to be added |
llsConf | Lower layer service configuration for the UT. |
Definition at line 431 of file satellite-beam-scheduler.cc.
References AddUtInfo(), CreateCnoEstimator(), m_controlSlotInterval, m_controlSlotsEnabled, m_logonChannelIndex, m_raChRandomIndex, m_superframeSeq, and ns3::SatConstVariables::SUPERFRAME_SEQUENCE.
|
private |
Definition at line 468 of file satellite-beam-scheduler.cc.
References ns3::SatFrameAllocator::SatFrameAllocReq::m_address, ns3::SatFrameAllocator::SatFrameAllocReq::m_cno, m_controlSlotsEnabled, m_superframeAllocator, m_utInfos, and m_utRequestInfos.
Referenced by AddUt().
|
private |
Create estimator for the UT according to set attributes.
Definition at line 564 of file satellite-beam-scheduler.cc.
References ns3::SatCnoEstimator::AVERAGE, ns3::SatCnoEstimator::LAST, m_cnoEstimationWindow, m_cnoEstimatorMode, and ns3::SatCnoEstimator::MINIMUM.
Referenced by AddUt(), and Initialize().
Ptr< SatTimuMessage > ns3::SatBeamScheduler::CreateTimu | ( | ) | const |
Create a TIM unicast message containing enough data for a terminal to connect to the beam handled by this SatBeamScheduler.
Definition at line 1005 of file satellite-beam-scheduler.cc.
References m_beamId, and m_gwAddress.
|
private |
Dispose actions for SatBeamScheduler.
Definition at line 298 of file satellite-beam-scheduler.cc.
References m_txCallback.
|
private |
Do pre-allocation of the symbols per UT/RC, before time slot generation.
Definition at line 837 of file satellite-beam-scheduler.cc.
References m_superframeAllocator, m_utInfos, and m_utRequestInfos.
Referenced by Schedule().
|
inline |
Return the address of the gateway responsible of this beam.
Definition at line 277 of file satellite-beam-scheduler.h.
References m_gwAddress.
|
static |
Get the type ID.
Definition at line 190 of file satellite-beam-scheduler.cc.
References ns3::SatCnoEstimator::AVERAGE, BASIC, CHECK_GATEWAY, ns3::SatEnums::DEFAULT_SUPERFRAME_ALLOCATOR, ns3::SatCnoEstimator::LAST, m_backlogRequestsTrace, m_cnoEstimationWindow, m_cnoEstimatorMode, m_controlSlotInterval, m_controlSlotsEnabled, m_exceedingCapacityTrace, m_frameLoadTrace, m_frameUtLoadTrace, m_handoverStrategy, m_maxTbtpTxAndProcessingDelay, m_maxTwoWayPropagationDelay, m_superframeAllocatorType, m_unmetCapacityTrace, m_usableCapacityTrace, m_waveformTrace, and ns3::SatCnoEstimator::MINIMUM.
bool ns3::SatBeamScheduler::HasUt | ( | Address | utId | ) |
Check whether an UT is handled by this scheduler.
utId | ID (mac address) of the UT to be searched for |
Definition at line 522 of file satellite-beam-scheduler.cc.
References m_utInfos.
Referenced by SendTo(), UpdateUtCno(), and UtCrReceived().
void ns3::SatBeamScheduler::Initialize | ( | uint32_t | beamId, |
SatBeamScheduler::SendCtrlMsgCallback | cb, | ||
Ptr< SatSuperframeSeq > | seq, | ||
uint32_t | maxFrameSizeInBytes, | ||
Address | gwAddress | ||
) |
beamId | ID of the beam which for callback is set |
cb | callback to invoke whenever a TBTP is ready for sending and must be forwarded to the Beam UTs. |
seq | Superframe sequence. |
maxFrameSizeInBytes | Maximum non fragmented BB frame size with most robust ModCod |
gwAddress | Mac address of the gateway responsible for this beam |
Calculating to start time for super frame counts to start the scheduling from. The offset is calculated by estimating the maximum delay between GW and UT, so that the sent TBTP will be received by UT in time to be able to still send the packet in time.
It is assumed currently, that a random RA channel index is selected for each UT. If there is only one RA possible RA channel, then all UTs shall be using the same channel.
Definition at line 344 of file satellite-beam-scheduler.cc.
References CreateCnoEstimator(), ns3::SatEnums::DEFAULT_SUPERFRAME_ALLOCATOR, m_beamId, m_gwAddress, m_logonChannelIndex, m_maxBbFrameSize, m_maxTbtpTxAndProcessingDelay, m_maxTwoWayPropagationDelay, m_raChRandomIndex, m_satelliteCnoEstimator, m_superframeAllocator, m_superframeAllocatorType, m_superFrameCounter, m_superframeSeq, m_txCallback, Schedule(), and ns3::SatConstVariables::SUPERFRAME_SEQUENCE.
void ns3::SatBeamScheduler::RemoveUt | ( | Address | utId | ) |
Remove a UT from its SatBeamScheduler.
utId | the terminal that is leaving this beam |
Definition at line 989 of file satellite-beam-scheduler.cc.
References m_utInfos, and RemoveUtInfo().
|
private |
Definition at line 499 of file satellite-beam-scheduler.cc.
References m_controlSlotsEnabled, m_superframeAllocator, m_utInfos, and m_utRequestInfos.
Referenced by RemoveUt(), and TransferUtToBeam().
void ns3::SatBeamScheduler::ReserveLogonChannel | ( | uint32_t | logonChannelId | ) |
Definition at line 1016 of file satellite-beam-scheduler.cc.
References m_logonChannelIndex, and m_raChRandomIndex.
|
private |
Schedule UTs added (registered) to scheduler.
Definition at line 603 of file satellite-beam-scheduler.cc.
References AddRaChannels(), DoPreResourceAllocation(), m_exceedingCapacityTrace, m_frameLoadTrace, m_frameUtLoadTrace, m_maxBbFrameSize, m_superframeAllocator, m_superFrameCounter, m_superframeSeq, m_txTbtpCallback, m_unmetCapacityTrace, m_usableCapacityTrace, m_utInfos, m_waveformTrace, Send(), SendCnoToSatellite(), ns3::SatConstVariables::SUPERFRAME_SEQUENCE, UpdateDamaEntriesWithAllocs(), and UpdateDamaEntriesWithReqs().
Referenced by Initialize().
bool ns3::SatBeamScheduler::Send | ( | Ptr< SatControlMessage > | message | ) |
Send control messages to the beam.
message | Pointer or control message to send. |
Definition at line 306 of file satellite-beam-scheduler.cc.
References m_txCallback.
Referenced by Schedule().
|
private |
Send an estimation of cno to satellite, if samples have been received.
Definition at line 587 of file satellite-beam-scheduler.cc.
References m_receivedSatelliteCnoSample, m_satelliteCnoEstimator, m_satelliteMac, and SendToSatellite().
Referenced by Schedule().
bool ns3::SatBeamScheduler::SendTo | ( | Ptr< SatControlMessage > | message, |
Address | utId | ||
) |
Send control message to an UT into the beam.
message | Pointer of control message to send. |
utId | Address of the UT to send the message to. |
Definition at line 315 of file satellite-beam-scheduler.cc.
References HasUt(), and m_txCallback.
bool ns3::SatBeamScheduler::SendToSatellite | ( | Ptr< SatControlMessage > | msg, |
Address | satelliteMac | ||
) |
Send control message to the satellite.
message | Pointer of control message to send. |
satelliteMac | Address of the feeder SAT to send the message to. |
Definition at line 329 of file satellite-beam-scheduler.cc.
References m_txCallback.
Referenced by SendCnoToSatellite().
void ns3::SatBeamScheduler::SetSendTbtpCallback | ( | SendTbtpCallback | cb | ) |
Set the callback to inform NCC a TBTP has been sent.
Definition at line 338 of file satellite-beam-scheduler.cc.
References m_txTbtpCallback.
void ns3::SatBeamScheduler::TransferUtToBeam | ( | Address | utId, |
Ptr< SatBeamScheduler > | destination | ||
) |
Transfer ownership of a terminal to the given SatBeamScheduler.
utId | the terminal that is leaving this beam |
destination | the beam that should accept the terminal |
Definition at line 951 of file satellite-beam-scheduler.cc.
References BASIC, CHECK_GATEWAY, m_gwAddress, m_handoverStrategy, m_utInfos, and RemoveUtInfo().
|
private |
Update dama entries with given allocations at end of the scheduling.
utAllocContainer | Reference to container including granted allocations per UT. |
Definition at line 861 of file satellite-beam-scheduler.cc.
References ns3::SatConstVariables::BITS_IN_KBIT, ns3::SatConstVariables::BITS_PER_BYTE, m_controlSlotInterval, m_superframeSeq, m_utInfos, m_utRequestInfos, and ns3::SatConstVariables::SUPERFRAME_SEQUENCE.
Referenced by Schedule().
|
private |
Update dama entries with received requests at beginning of the scheduling.
Definition at line 748 of file satellite-beam-scheduler.cc.
References ns3::SatConstVariables::BITS_IN_KBIT, ns3::SatConstVariables::BITS_PER_BYTE, ns3::SatEnums::DA_RBDC, ns3::SatEnums::DA_VBDC, m_backlogRequestsTrace, m_beamId, m_superframeSeq, m_utInfos, m_utRequestInfos, and ns3::SatConstVariables::SUPERFRAME_SEQUENCE.
Referenced by Schedule().
void ns3::SatBeamScheduler::UpdateSatelliteCno | ( | Address | satelliteMac, |
double | cno | ||
) |
Update satellite C/N0 info with the latest value.
satelliteMac | MAC of the SAT (address). |
cno | C/N0 value |
Definition at line 542 of file satellite-beam-scheduler.cc.
References m_receivedSatelliteCnoSample, m_satelliteCnoEstimator, and m_satelliteMac.
void ns3::SatBeamScheduler::UpdateUtCno | ( | Address | utId, |
double | cno | ||
) |
Update UT C/N0 info with the latest value.
utId | Id of the UT (address). |
cno | C/N0 value |
Definition at line 531 of file satellite-beam-scheduler.cc.
References HasUt(), and m_utInfos.
void ns3::SatBeamScheduler::UtCrReceived | ( | Address | utId, |
Ptr< SatCrMessage > | crMsg | ||
) |
Receive capacity requests from UTs.
utId | Id of the UT (address). |
crMsg | Pointer to the CR message |
Definition at line 553 of file satellite-beam-scheduler.cc.
References HasUt(), and m_utInfos.
|
private |
Trace for backlog requests done to beam scheduler.
Definition at line 550 of file satellite-beam-scheduler.h.
Referenced by GetTypeId(), and UpdateDamaEntriesWithReqs().
|
private |
ID of the beam.
Definition at line 461 of file satellite-beam-scheduler.h.
Referenced by CreateTimu(), Initialize(), and UpdateDamaEntriesWithReqs().
|
private |
Time window for C/N0 estimation.
Definition at line 511 of file satellite-beam-scheduler.h.
Referenced by CreateCnoEstimator(), and GetTypeId().
|
private |
Mode used for C/N0 estimator.
Definition at line 506 of file satellite-beam-scheduler.h.
Referenced by CreateCnoEstimator(), and GetTypeId().
|
private |
Interval to generate control time slots.
Definition at line 540 of file satellite-beam-scheduler.h.
Referenced by AddUt(), GetTypeId(), and UpdateDamaEntriesWithAllocs().
|
private |
Flag to indicated if control time slots generation is enabled.
Definition at line 545 of file satellite-beam-scheduler.h.
Referenced by AddUt(), AddUtInfo(), GetTypeId(), ns3::SatBeamScheduler::SatUtInfo::IsControlSlotGenerationTime(), and RemoveUtInfo().
|
private |
Trace exceeding capacity.
Definition at line 580 of file satellite-beam-scheduler.h.
Referenced by GetTypeId(), and Schedule().
|
private |
Trace frame load ratio.
Definition at line 565 of file satellite-beam-scheduler.h.
Referenced by GetTypeId(), and Schedule().
|
private |
Trace count of UTs scheduled per Frame.
Definition at line 560 of file satellite-beam-scheduler.h.
Referenced by GetTypeId(), and Schedule().
|
private |
Definition at line 630 of file satellite-beam-scheduler.h.
Referenced by CreateTimu(), GetGwAddress(), Initialize(), and TransferUtToBeam().
|
private |
Definition at line 632 of file satellite-beam-scheduler.h.
Referenced by GetTypeId(), and TransferUtToBeam().
|
private |
Logon channel ID to exclude it from the RA channel selection.
Definition at line 501 of file satellite-beam-scheduler.h.
Referenced by AddUt(), Initialize(), and ReserveLogonChannel().
|
private |
Maximum size of the BB frame.
Definition at line 535 of file satellite-beam-scheduler.h.
Referenced by AddRaChannels(), Initialize(), and Schedule().
|
private |
Maximum TBTP tx and processing delay estimate at the GW (scheduler).
This is used to estimate how much time into the future the scheduler has to schedule the super frames.
Definition at line 530 of file satellite-beam-scheduler.h.
Referenced by GetTypeId(), and Initialize().
|
private |
Maximum two-way propagation delay estimate between GW-SAT-UT-SAT-GW.
This is used to estimate how much time into the future the scheduler has to schedule the super frames.
Definition at line 523 of file satellite-beam-scheduler.h.
Referenced by GetTypeId(), and Initialize().
|
private |
Random variable stream to select RA channel for a UT.
Definition at line 496 of file satellite-beam-scheduler.h.
Referenced by AddUt(), Initialize(), and ReserveLogonChannel().
|
private |
Indicates if Cno sample have been received since last C/N0 control message sent.
Definition at line 652 of file satellite-beam-scheduler.h.
Referenced by SendCnoToSatellite(), and UpdateSatelliteCno().
|
private |
Estimator for the C/N0 from satellite.
Definition at line 642 of file satellite-beam-scheduler.h.
Referenced by Initialize(), SendCnoToSatellite(), and UpdateSatelliteCno().
|
private |
MAC address of the satellite (used when regenerative)
Definition at line 647 of file satellite-beam-scheduler.h.
Referenced by SendCnoToSatellite(), and UpdateSatelliteCno().
|
private |
Superframe allocator to maintain load information of the frames and their configurations.
Definition at line 516 of file satellite-beam-scheduler.h.
Referenced by AddUtInfo(), DoPreResourceAllocation(), Initialize(), RemoveUtInfo(), and Schedule().
|
private |
Type of SatSuperframeAllocator class to use.
Definition at line 637 of file satellite-beam-scheduler.h.
Referenced by GetTypeId(), and Initialize().
|
private |
Counter for super frame sequence.
Definition at line 471 of file satellite-beam-scheduler.h.
Referenced by Initialize(), and Schedule().
|
private |
Pointer to super frame sequence.
Definition at line 466 of file satellite-beam-scheduler.h.
Referenced by AddRaChannels(), AddUt(), Initialize(), Schedule(), UpdateDamaEntriesWithAllocs(), and UpdateDamaEntriesWithReqs().
|
private |
The control message send callback.
Definition at line 476 of file satellite-beam-scheduler.h.
Referenced by DoDispose(), Initialize(), Send(), SendTo(), and SendToSatellite().
|
private |
The TBTP send callback to inform GW Mac.
Definition at line 481 of file satellite-beam-scheduler.h.
Referenced by Schedule(), and SetSendTbtpCallback().
|
private |
Trace unmet capacity.
Definition at line 575 of file satellite-beam-scheduler.h.
Referenced by GetTypeId(), and Schedule().
|
private |
Trace usable capacity.
Definition at line 570 of file satellite-beam-scheduler.h.
Referenced by GetTypeId(), and Schedule().
|
private |
Map to store UT information in beam for updating purposes.
Definition at line 486 of file satellite-beam-scheduler.h.
Referenced by AddUtInfo(), DoPreResourceAllocation(), HasUt(), RemoveUt(), RemoveUtInfo(), Schedule(), TransferUtToBeam(), UpdateDamaEntriesWithAllocs(), UpdateDamaEntriesWithReqs(), UpdateUtCno(), and UtCrReceived().
|
private |
Container including every UT's allocation requests.
Definition at line 491 of file satellite-beam-scheduler.h.
Referenced by AddUtInfo(), DoPreResourceAllocation(), RemoveUtInfo(), UpdateDamaEntriesWithAllocs(), and UpdateDamaEntriesWithReqs().
|
private |
Trace first wave form scheduled for the UT.
Definition at line 555 of file satellite-beam-scheduler.h.
Referenced by GetTypeId(), and Schedule().