ns3::SatUtHelper Class Reference

Creates needed objects for UT nodes like SatGeoNetDevice objects. More...

#include "satellite-ut-helper.h"

+ Inheritance diagram for ns3::SatUtHelper:
+ Collaboration diagram for ns3::SatUtHelper:

Classes

struct  RandomAccessSettings_s
 Define RandomAccessSettings as a struct. More...
 

Public Member Functions

 SatUtHelper ()
 Default constructor. More...
 
 SatUtHelper (SatTypedefs::CarrierBandwidthConverter_t carrierBandwidthConverter, uint32_t rtnLinkCarrierCount, Ptr< SatSuperframeSeq > seq, SatMac::ReadCtrlMsgCallback readCb, SatMac::ReserveCtrlMsgCallback reserveCb, SatMac::SendCtrlMsgCallback sendCb, RandomAccessSettings_s randomAccessSettings)
 Create a SatUtHelper to make life easier when creating Satellite point to point network connections. More...
 
virtual ~SatUtHelper ()
 Destructor. More...
 
void EnableCreationTraces (Ptr< OutputStreamWrapper > stream, CallbackBase &cb)
 Enables creation traces to be written in given file. More...
 
TypeId GetInstanceTypeId (void) const
 Derived from Object. More...
 
void Initialize (Ptr< SatLinkResultsFwd > lrFwd)
 
NetDeviceContainer InstallDvb (NodeContainer c, uint32_t satId, uint32_t beamId, Ptr< SatChannel > fCh, Ptr< SatChannel > rCh, Ptr< SatNetDevice > gwNd, Ptr< SatNcc > ncc, Address satUserAddress, SatPhy::ChannelPairGetterCallback cbChannel, SatMac::RoutingUpdateCallback cbRouting, SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode)
 
Ptr< NetDevice > InstallDvb (Ptr< Node > n, uint32_t satId, uint32_t beamId, Ptr< SatChannel > fCh, Ptr< SatChannel > rCh, Ptr< SatNetDevice > gwNd, Ptr< SatNcc > ncc, Address satUserAddress, SatPhy::ChannelPairGetterCallback cbChannel, SatMac::RoutingUpdateCallback cbRouting, SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode)
 
NetDeviceContainer InstallLora (NodeContainer c, uint32_t satId, uint32_t beamId, Ptr< SatChannel > fCh, Ptr< SatChannel > rCh, Ptr< SatNetDevice > gwNd, Ptr< SatNcc > ncc, Address satUserAddress, SatPhy::ChannelPairGetterCallback cbChannel, SatMac::RoutingUpdateCallback cbRouting, SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode)
 
Ptr< NetDevice > InstallLora (Ptr< Node > n, uint32_t satId, uint32_t beamId, Ptr< SatChannel > fCh, Ptr< SatChannel > rCh, Ptr< SatNetDevice > gwNd, Ptr< SatNcc > ncc, Address satUserAddress, SatPhy::ChannelPairGetterCallback cbChannel, SatMac::RoutingUpdateCallback cbRouting, SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode)
 
void SetChannelAttribute (std::string name, const AttributeValue &value)
 Set an attribute value to be propagated to each Channel created by the helper. More...
 
void SetDeviceAttribute (std::string name, const AttributeValue &value)
 Set an attribute value to be propagated to each NetDevice created by the helper. More...
 
void SetPhyAttribute (std::string name, const AttributeValue &value)
 Set an attribute value to be propagated to each Phy created by the helper. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Derived from Object. More...
 

Private Attributes

bool m_asyncAccess
 
SatTypedefs::CarrierBandwidthConverter_t m_carrierBandwidthConverter
 
ObjectFactory m_channelFactory
 
bool m_crdsaOnlyForControl
 Planned CRDSA usage: More...
 
TracedCallback< std::string > m_creationTrace
 Trace callback for creation traces. More...
 
double m_daConstantErrorRate
 
SatPhy::InterferenceModel m_daInterferenceModel
 
ObjectFactory m_deviceFactory
 
bool m_enableChannelEstimationError
 Enable channel estimation error modeling at forward link receiver (= UT). More...
 
SatPhy::ErrorModel m_errorModel
 
uint32_t m_fwdLinkCarrierCount
 
Ptr< SatLinkResultsm_linkResults
 
Ptr< SatLowerLayerServiceConfm_llsConf
 Configured lower layer service configuration. More...
 
RandomAccessSettings_s m_raSettings
 The used random access model settings. More...
 
SatMac::ReadCtrlMsgCallback m_readCtrlCb
 
SatMac::ReserveCtrlMsgCallback m_reserveCtrlCb
 
SatMac::SendCtrlMsgCallback m_sendCtrlCb
 
Ptr< SatSuperframeSeqm_superframeSeq
 

Detailed Description

Creates needed objects for UT nodes like SatGeoNetDevice objects.

Handles needed configuration for the UT nodes.

Definition at line 52 of file satellite-ut-helper.h.

Constructor & Destructor Documentation

◆ SatUtHelper() [1/2]

ns3::SatUtHelper::SatUtHelper ( )

Default constructor.

Definition at line 144 of file satellite-ut-helper.cc.

◆ SatUtHelper() [2/2]

ns3::SatUtHelper::SatUtHelper ( SatTypedefs::CarrierBandwidthConverter_t  carrierBandwidthConverter,
uint32_t  rtnLinkCarrierCount,
Ptr< SatSuperframeSeq seq,
SatMac::ReadCtrlMsgCallback  readCb,
SatMac::ReserveCtrlMsgCallback  reserveCb,
SatMac::SendCtrlMsgCallback  sendCb,
RandomAccessSettings_s  randomAccessSettings 
)

Create a SatUtHelper to make life easier when creating Satellite point to point network connections.

Definition at line 164 of file satellite-ut-helper.cc.

References m_channelFactory, m_deviceFactory, and m_llsConf.

◆ ~SatUtHelper()

virtual ns3::SatUtHelper::~SatUtHelper ( )
inlinevirtual

Destructor.

Definition at line 96 of file satellite-ut-helper.h.

Member Function Documentation

◆ EnableCreationTraces()

void ns3::SatUtHelper::EnableCreationTraces ( Ptr< OutputStreamWrapper >  stream,
CallbackBase &  cb 
)

Enables creation traces to be written in given file.

Parameters
streamstream for creation trace outputs
cbcallback to connect traces

Definition at line 763 of file satellite-ut-helper.cc.

◆ GetInstanceTypeId()

TypeId ns3::SatUtHelper::GetInstanceTypeId ( void  ) const

Derived from Object.

Definition at line 137 of file satellite-ut-helper.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetTypeId()

◆ Initialize()

void ns3::SatUtHelper::Initialize ( Ptr< SatLinkResultsFwd lrFwd)

◆ InstallDvb() [1/2]

NetDeviceContainer ns3::SatUtHelper::InstallDvb ( NodeContainer  c,
uint32_t  satId,
uint32_t  beamId,
Ptr< SatChannel fCh,
Ptr< SatChannel rCh,
Ptr< SatNetDevice gwNd,
Ptr< SatNcc ncc,
Address  satUserAddress,
SatPhy::ChannelPairGetterCallback  cbChannel,
SatMac::RoutingUpdateCallback  cbRouting,
SatEnums::RegenerationMode_t  forwardLinkRegenerationMode,
SatEnums::RegenerationMode_t  returnLinkRegenerationMode 
)
Parameters
ca set of nodes
satIdid of the satellite
beamIdid of the beam
fChforward channel
rChreturn channel
gwNdsatellite netdevice of the GW
nccNCC (Network Control Center)
satUserAddressMAC address of satellite user link
forwardLinkRegenerationModeThe regeneration mode on forward link
returnLinkRegenerationModeThe regeneration mode on return link
Returns
Container of installed net devices

This method creates a ns3::SatChannel with the attributes configured by SatUtHelper::SetChannelAttribute, then, for each node in the input container, we create a ns3::SatNetDevice with the requested attributes, a queue for this ns3::NetDevice, and associate the resulting ns3::NetDevice with the ns3::Node and ns3::SatChannel.

Definition at line 231 of file satellite-ut-helper.cc.

◆ InstallDvb() [2/2]

Ptr< NetDevice > ns3::SatUtHelper::InstallDvb ( Ptr< Node >  n,
uint32_t  satId,
uint32_t  beamId,
Ptr< SatChannel fCh,
Ptr< SatChannel rCh,
Ptr< SatNetDevice gwNd,
Ptr< SatNcc ncc,
Address  satUserAddress,
SatPhy::ChannelPairGetterCallback  cbChannel,
SatMac::RoutingUpdateCallback  cbRouting,
SatEnums::RegenerationMode_t  forwardLinkRegenerationMode,
SatEnums::RegenerationMode_t  returnLinkRegenerationMode 
)
Parameters
nnode
satIdid of the satellite
beamIdid of the beam
fChforward channel
rChreturn channel
gwNdsatellite netdevice of the GW
nccNCC (Network Control Center)
satUserAddressMAC address of satellite user link
forwardLinkRegenerationModeThe regeneration mode on forward link
returnLinkRegenerationModeThe regeneration mode on return link
Returns
Net device installed to node

Saves you from having to construct a temporary NodeContainer.

Channel estimation errors

create RA module with defaults

attach callbacks

attach the RA module

Definition at line 268 of file satellite-ut-helper.cc.

References ns3::SatRequestManager::AssignedDaResources(), ns3::SatLlc::BuffersEmpty(), ns3::SatUtHandoverModule::CheckForHandoverRecommendation(), ns3::SatRequestManager::CnoUpdated(), ns3::SatEnums::CONTROL_FID, ns3::SatLlc::ControlBuffersEmpty(), ns3::SatUtMac::ControlMsgTransmissionPossible(), ns3::SatEnums::DVB_UT, ns3::SatUtHandoverModule::GetAskedBeamId(), ns3::SatNcc::GetBeamScheduler(), ns3::SatQueue::GetQueueStatistics(), ns3::SatLlc::GetSchedulingContexts(), ns3::SatMobilityObserver::GetTimingAdvance(), ns3::SatUtPhy::IsTxPossible(), ns3::SatUtMac::LogonMsgTransmissionPossible(), ns3::SatPhy::CreateParam_t::m_beamId, m_carrierBandwidthConverter, m_crdsaOnlyForControl, m_daConstantErrorRate, m_daInterferenceModel, ns3::SatPhy::CreateParam_t::m_device, m_deviceFactory, m_enableChannelEstimationError, m_errorModel, m_fwdLinkCarrierCount, m_linkResults, m_llsConf, ns3::SatUtHelper::RandomAccessSettings_s::m_raCollisionModel, ns3::SatUtHelper::RandomAccessSettings_s::m_raInterferenceEliminationModel, ns3::SatUtHelper::RandomAccessSettings_s::m_raInterferenceModel, ns3::SatUtHelper::RandomAccessSettings_s::m_randomAccessModel, m_raSettings, m_readCtrlCb, m_reserveCtrlCb, ns3::SatPhy::CreateParam_t::m_rxCh, ns3::SatPhy::CreateParam_t::m_satId, m_sendCtrlCb, ns3::SatPhy::CreateParam_t::m_standard, m_superframeSeq, ns3::SatPhy::CreateParam_t::m_txCh, ns3::SatUtLlc::NotifyTxOpportunity(), ns3::SatEnums::NT_UT, ns3::SatUtPhy::PerformHandover(), ns3::SatEnums::RA_MODEL_ESSA, ns3::SatEnums::RA_MODEL_OFF, ns3::SatNetDevice::Receive(), ns3::SatLlc::Receive(), ns3::SatUtMac::Receive(), ns3::SatRequestManager::ReceiveQueueEvent(), ns3::SatUtMac::ReceiveQueueEvent(), ns3::SatUtMac::ReceiveQueueEventEssa(), ns3::SatEnums::REGENERATION_NETWORK, ns3::SatEnums::REGENERATION_PHY, ns3::SatNetDevice::SendControlMsg(), ns3::SatRequestManager::SendHandoverRecommendation(), ns3::SatUtMac::SendLogon(), ns3::SatRequestManager::SendLogonMessage(), ns3::SatPhy::SendPdu(), ns3::SatRequestManager::SetGwAddress(), ns3::SatUtLlc::SetGwAddress(), ns3::SatUtHandoverModule::SetHandoverRequestCallback(), ns3::SatUtMac::SetRaChannel(), ns3::SatAddressE2ETag::SIZE, ns3::SatConstVariables::SUPERFRAME_SEQUENCE, ns3::SatEnums::TRANSPARENT, and ns3::SatUtPhy::UpdateSliceSubscription().

+ Here is the call graph for this function:

◆ InstallLora() [1/2]

NetDeviceContainer ns3::SatUtHelper::InstallLora ( NodeContainer  c,
uint32_t  satId,
uint32_t  beamId,
Ptr< SatChannel fCh,
Ptr< SatChannel rCh,
Ptr< SatNetDevice gwNd,
Ptr< SatNcc ncc,
Address  satUserAddress,
SatPhy::ChannelPairGetterCallback  cbChannel,
SatMac::RoutingUpdateCallback  cbRouting,
SatEnums::RegenerationMode_t  forwardLinkRegenerationMode,
SatEnums::RegenerationMode_t  returnLinkRegenerationMode 
)
Parameters
ca set of nodes
satIdid of the satellite
beamIdid of the beam
fChforward channel
rChreturn channel
gwNdsatellite netdevice of the GW
nccNCC (Network Control Center)
satUserAddressMAC address of satellite user link
forwardLinkRegenerationModeThe regeneration mode on forward link
returnLinkRegenerationModeThe regeneration mode on return link
Returns
Container of installed net devices

This method creates a ns3::SatChannel with the attributes configured by SatUtHelper::SetChannelAttribute, then, for each node in the input container, we create a ns3::SatNetDevice with the requested attributes, a queue for this ns3::SatNetLorawanDevice, and associate the resulting ns3::SatNetLorawanDevice with the ns3::Node and ns3::SatChannel.

Definition at line 593 of file satellite-ut-helper.cc.

◆ InstallLora() [2/2]

Ptr< NetDevice > ns3::SatUtHelper::InstallLora ( Ptr< Node >  n,
uint32_t  satId,
uint32_t  beamId,
Ptr< SatChannel fCh,
Ptr< SatChannel rCh,
Ptr< SatNetDevice gwNd,
Ptr< SatNcc ncc,
Address  satUserAddress,
SatPhy::ChannelPairGetterCallback  cbChannel,
SatMac::RoutingUpdateCallback  cbRouting,
SatEnums::RegenerationMode_t  forwardLinkRegenerationMode,
SatEnums::RegenerationMode_t  returnLinkRegenerationMode 
)
Parameters
nnode
satIdid of the satellite
beamIdid of the beam
fChforward channel
rChreturn channel
gwNdsatellite netdevice of the GW
nccNCC (Network Control Center)
satUserAddressMAC address of satellite user link
forwardLinkRegenerationModeThe regeneration mode on forward link
returnLinkRegenerationModeThe regeneration mode on return link
Returns
Net device installed to node

Saves you from having to construct a temporary NodeContainer.

Channel estimation errors

Definition at line 630 of file satellite-ut-helper.cc.

References ns3::SatEnums::LORA_UT, ns3::SatPhy::CreateParam_t::m_beamId, m_carrierBandwidthConverter, m_daConstantErrorRate, m_daInterferenceModel, ns3::SatPhy::CreateParam_t::m_device, m_deviceFactory, m_enableChannelEstimationError, m_errorModel, m_fwdLinkCarrierCount, m_linkResults, m_llsConf, ns3::SatUtHelper::RandomAccessSettings_s::m_raCollisionModel, ns3::SatUtHelper::RandomAccessSettings_s::m_raInterferenceEliminationModel, ns3::SatUtHelper::RandomAccessSettings_s::m_raInterferenceModel, ns3::SatUtHelper::RandomAccessSettings_s::m_randomAccessModel, m_raSettings, ns3::SatPhy::CreateParam_t::m_rxCh, ns3::SatPhy::CreateParam_t::m_satId, ns3::SatPhy::CreateParam_t::m_standard, m_superframeSeq, ns3::SatPhy::CreateParam_t::m_txCh, ns3::SatEnums::NT_UT, ns3::LorawanMac::Receive(), ns3::SatLoraConf::SetConf(), ns3::LorawanMacEndDevice::SetRaChannel(), and ns3::SatConstVariables::SUPERFRAME_SEQUENCE.

+ Here is the call graph for this function:

◆ SetChannelAttribute()

void ns3::SatUtHelper::SetChannelAttribute ( std::string  name,
const AttributeValue &  value 
)

Set an attribute value to be propagated to each Channel created by the helper.

Parameters
namethe name of the attribute to set
valuethe value of the attribute to set

Set these attribute on each ns3::SatChannel created by SatUtHelper::Install

Definition at line 215 of file satellite-ut-helper.cc.

References m_channelFactory.

◆ SetDeviceAttribute()

void ns3::SatUtHelper::SetDeviceAttribute ( std::string  name,
const AttributeValue &  value 
)

Set an attribute value to be propagated to each NetDevice created by the helper.

Parameters
namethe name of the attribute to set
valuethe value of the attribute to set

Set these attributes on each ns3::SatNetDevice created by SatUtHelper::Install

Definition at line 207 of file satellite-ut-helper.cc.

References m_deviceFactory.

◆ SetPhyAttribute()

void ns3::SatUtHelper::SetPhyAttribute ( std::string  name,
const AttributeValue &  value 
)

Set an attribute value to be propagated to each Phy created by the helper.

Parameters
namethe name of the attribute to set
valuethe value of the attribute to set

Set these attributes on each ns3::SatNetDevice created by SatUtHelper::Install

Definition at line 223 of file satellite-ut-helper.cc.

Member Data Documentation

◆ m_asyncAccess

bool ns3::SatUtHelper::m_asyncAccess
private

Definition at line 331 of file satellite-ut-helper.h.

Referenced by GetTypeId().

◆ m_carrierBandwidthConverter

SatTypedefs::CarrierBandwidthConverter_t ns3::SatUtHelper::m_carrierBandwidthConverter
private

Definition at line 269 of file satellite-ut-helper.h.

Referenced by InstallDvb(), and InstallLora().

◆ m_channelFactory

ObjectFactory ns3::SatUtHelper::m_channelFactory
private

Definition at line 278 of file satellite-ut-helper.h.

Referenced by SatUtHelper(), and SetChannelAttribute().

◆ m_crdsaOnlyForControl

bool ns3::SatUtHelper::m_crdsaOnlyForControl
private

Planned CRDSA usage:

  • true -> only for control
  • false -> for control and user data

Definition at line 324 of file satellite-ut-helper.h.

Referenced by GetTypeId(), and InstallDvb().

◆ m_creationTrace

TracedCallback<std::string> ns3::SatUtHelper::m_creationTrace
private

Trace callback for creation traces.

Definition at line 306 of file satellite-ut-helper.h.

Referenced by GetTypeId().

◆ m_daConstantErrorRate

double ns3::SatUtHelper::m_daConstantErrorRate
private

Definition at line 294 of file satellite-ut-helper.h.

Referenced by GetTypeId(), InstallDvb(), and InstallLora().

◆ m_daInterferenceModel

SatPhy::InterferenceModel ns3::SatUtHelper::m_daInterferenceModel
private

Definition at line 284 of file satellite-ut-helper.h.

Referenced by GetTypeId(), InstallDvb(), and InstallLora().

◆ m_deviceFactory

ObjectFactory ns3::SatUtHelper::m_deviceFactory
private

Definition at line 279 of file satellite-ut-helper.h.

Referenced by SatUtHelper(), InstallDvb(), InstallLora(), and SetDeviceAttribute().

◆ m_enableChannelEstimationError

bool ns3::SatUtHelper::m_enableChannelEstimationError
private

Enable channel estimation error modeling at forward link receiver (= UT).

Definition at line 317 of file satellite-ut-helper.h.

Referenced by GetTypeId(), InstallDvb(), and InstallLora().

◆ m_errorModel

SatPhy::ErrorModel ns3::SatUtHelper::m_errorModel
private

Definition at line 289 of file satellite-ut-helper.h.

Referenced by GetTypeId(), Initialize(), InstallDvb(), and InstallLora().

◆ m_fwdLinkCarrierCount

uint32_t ns3::SatUtHelper::m_fwdLinkCarrierCount
private

Definition at line 270 of file satellite-ut-helper.h.

Referenced by InstallDvb(), and InstallLora().

◆ m_linkResults

Ptr<SatLinkResults> ns3::SatUtHelper::m_linkResults
private

Definition at line 301 of file satellite-ut-helper.h.

Referenced by Initialize(), InstallDvb(), and InstallLora().

◆ m_llsConf

Ptr<SatLowerLayerServiceConf> ns3::SatUtHelper::m_llsConf
private

Configured lower layer service configuration.

Definition at line 311 of file satellite-ut-helper.h.

Referenced by SatUtHelper(), GetTypeId(), InstallDvb(), and InstallLora().

◆ m_raSettings

RandomAccessSettings_s ns3::SatUtHelper::m_raSettings
private

The used random access model settings.

Definition at line 336 of file satellite-ut-helper.h.

Referenced by InstallDvb(), and InstallLora().

◆ m_readCtrlCb

SatMac::ReadCtrlMsgCallback ns3::SatUtHelper::m_readCtrlCb
private

Definition at line 274 of file satellite-ut-helper.h.

Referenced by InstallDvb().

◆ m_reserveCtrlCb

SatMac::ReserveCtrlMsgCallback ns3::SatUtHelper::m_reserveCtrlCb
private

Definition at line 275 of file satellite-ut-helper.h.

Referenced by InstallDvb().

◆ m_sendCtrlCb

SatMac::SendCtrlMsgCallback ns3::SatUtHelper::m_sendCtrlCb
private

Definition at line 276 of file satellite-ut-helper.h.

Referenced by InstallDvb().

◆ m_superframeSeq

Ptr<SatSuperframeSeq> ns3::SatUtHelper::m_superframeSeq
private

Definition at line 271 of file satellite-ut-helper.h.

Referenced by InstallDvb(), and InstallLora().


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