Loading...
Searching...
No Matches
ns3::SatOrbiterHelper Class Referenceabstract

Creates needed objects for Satellite node like SatorbiterNetDevice objects. More...

#include "satellite-orbiter-helper.h"

Inheritance diagram for ns3::SatOrbiterHelper:
Collaboration diagram for ns3::SatOrbiterHelper:

Classes

struct  RandomAccessSettings_s
 Random access setting options. More...

Public Member Functions

 SatOrbiterHelper ()
 Default constructor.
 SatOrbiterHelper (SatTypedefs::CarrierBandwidthConverter_t bandwidthConverterCb, uint32_t rtnLinkCarrierCount, uint32_t fwdLinkCarrierCount, Ptr< SatSuperframeSeq > seq, SatMac::ReadCtrlMsgCallback fwdReadCb, SatMac::ReadCtrlMsgCallback rtnReadCb, RandomAccessSettings_s randomAccessSettings)
 Create a SatOrbiterHelper to make life easier when creating Satellite point to point network connections.
virtual ~SatOrbiterHelper ()
void AttachChannels (Ptr< NetDevice > dev, Ptr< SatChannel > ff, Ptr< SatChannel > fr, Ptr< SatChannel > uf, Ptr< SatChannel > ur, Ptr< SatAntennaGainPattern > userAgp, Ptr< SatAntennaGainPattern > feederAgp, Ptr< SatNcc > ncc, uint32_t satId, uint32_t gwId, uint32_t userBeamId)
void AttachChannelsFeeder (Ptr< SatOrbiterNetDevice > dev, Ptr< SatChannel > ff, Ptr< SatChannel > fr, Ptr< SatAntennaGainPattern > feederAgp, Ptr< SatNcc > ncc, uint32_t satId, uint32_t gwId, uint32_t userBeamId)
virtual void AttachChannelsUser (Ptr< SatOrbiterNetDevice > dev, Ptr< SatChannel > uf, Ptr< SatChannel > ur, Ptr< SatAntennaGainPattern > userAgp, Ptr< SatNcc > ncc, uint32_t satId, uint32_t userBeamId)=0
virtual Ptr< SatOrbiterNetDeviceCreateOrbiterNetDevice ()=0
 Create a SatOrbiterNetDevice instance, with correct type infered from child classes.
void EnableCreationTraces (Ptr< OutputStreamWrapper > stream, CallbackBase &cb)
 Enables creation traces to be written in given file.
void Initialize (Ptr< SatLinkResultsFwd > lrFwd, Ptr< SatLinkResultsRtn > lrRcs2)
Ptr< NetDevice > Install (Ptr< Node > n)
Ptr< NetDevice > Install (std::string aName)
NetDeviceContainer InstallAllOrbiters ()
 This method creates a ns3::SatOrbiterNetDevices with the requested attributes and associate the resulting ns3::NetDevices with the ns3::Nodes corresponding to the orbiters.
void SetDeviceAttribute (std::string name, const AttributeValue &value)
 Set an attribute value to be propagated to each NetDevice created by the helper.
void SetFeederPhyAttribute (std::string name, const AttributeValue &value)
 Set an attribute value to be propagated to each Feeder Phy created by the helper.
void SetIslRoutes (std::vector< std::pair< uint32_t, uint32_t > > isls)
 Set ISL routes.
void SetUserPhyAttribute (std::string name, const AttributeValue &value)
 Set an attribute value to be propagated to each User Phy created by the helper.

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID.

Protected Attributes

Ptr< SatBbFrameConfm_bbFrameConfFwd
Ptr< SatBbFrameConfm_bbFrameConfRtn
SatTypedefs::CarrierBandwidthConverter_t m_carrierBandwidthConverter
TracedCallback< std::string > m_creationTrace
 Trace callback for creation traces.
SatPhy::InterferenceModel m_daFwdLinkInterferenceModel
SatPhy::InterferenceModel m_daRtnLinkInterferenceModel
std::map< uint32_t, uint16_t > m_deviceCount
ObjectFactory m_deviceFactory
double m_fwdDaConstantErrorRate
SatPhy::ErrorModel m_fwdErrorModel
uint32_t m_fwdLinkCarrierCount
Ptr< SatLinkResultsm_fwdLinkResults
 Forward channel link results (DVB-S2) are created if ErrorModel is configured to be AVI.
SatMac::ReadCtrlMsgCallback m_fwdReadCtrlCb
 Control forward link messages callback.
std::map< std::pair< uint32_t, uint32_t >, Ptr< SatOrbiterFeederMac > > m_gwMacMap
 Map used in regenerative mode to store if MAC already created for a given pair SAT ID / GW ID.
SatEnums::IslArbiterType_t m_islArbiterType
 Arbiter in use to route packets on ISLs.
std::vector< uint32_t > m_nodeIds
 Satellites node id.
RandomAccessSettings_s m_raSettings
 The used random access model settings.
double m_rtnDaConstantErrorRate
SatPhy::ErrorModel m_rtnErrorModel
uint32_t m_rtnLinkCarrierCount
Ptr< SatLinkResultsm_rtnLinkResults
 Return channel link results (DVB-RCS2) are created if ErrorModel is configured to be AVI.
SatMac::ReadCtrlMsgCallback m_rtnReadCtrlCb
 Control return link messages callback.
Ptr< SatSuperframeSeqm_superframeSeq
 Superframe sequence.
double m_symbolRateFwd
double m_symbolRateRtn

Detailed Description

Creates needed objects for Satellite node like SatorbiterNetDevice objects.

Handles needed configuration for the Satellite node.

Definition at line 57 of file satellite-orbiter-helper.h.

Constructor & Destructor Documentation

◆ SatOrbiterHelper() [1/2]

◆ SatOrbiterHelper() [2/2]

ns3::SatOrbiterHelper::SatOrbiterHelper ( SatTypedefs::CarrierBandwidthConverter_t bandwidthConverterCb,
uint32_t rtnLinkCarrierCount,
uint32_t fwdLinkCarrierCount,
Ptr< SatSuperframeSeq > seq,
SatMac::ReadCtrlMsgCallback fwdReadCb,
SatMac::ReadCtrlMsgCallback rtnReadCb,
RandomAccessSettings_s randomAccessSettings )

◆ ~SatOrbiterHelper()

virtual ns3::SatOrbiterHelper::~SatOrbiterHelper ( )
inlinevirtual

Definition at line 95 of file satellite-orbiter-helper.h.

Member Function Documentation

◆ AttachChannels()

void ns3::SatOrbiterHelper::AttachChannels ( Ptr< NetDevice > dev,
Ptr< SatChannel > ff,
Ptr< SatChannel > fr,
Ptr< SatChannel > uf,
Ptr< SatChannel > ur,
Ptr< SatAntennaGainPattern > userAgp,
Ptr< SatAntennaGainPattern > feederAgp,
Ptr< SatNcc > ncc,
uint32_t satId,
uint32_t gwId,
uint32_t userBeamId )

Definition at line 295 of file satellite-orbiter-helper.cc.

References AttachChannelsFeeder(), and AttachChannelsUser().

Here is the call graph for this function:

◆ AttachChannelsFeeder()

void ns3::SatOrbiterHelper::AttachChannelsFeeder ( Ptr< SatOrbiterNetDevice > dev,
Ptr< SatChannel > ff,
Ptr< SatChannel > fr,
Ptr< SatAntennaGainPattern > feederAgp,
Ptr< SatNcc > ncc,
uint32_t satId,
uint32_t gwId,
uint32_t userBeamId )

◆ AttachChannelsUser()

virtual void ns3::SatOrbiterHelper::AttachChannelsUser ( Ptr< SatOrbiterNetDevice > dev,
Ptr< SatChannel > uf,
Ptr< SatChannel > ur,
Ptr< SatAntennaGainPattern > userAgp,
Ptr< SatNcc > ncc,
uint32_t satId,
uint32_t userBeamId )
pure virtual

Implemented in ns3::SatOrbiterHelperDvb, and ns3::SatOrbiterHelperLora.

Referenced by AttachChannels().

Here is the caller graph for this function:

◆ CreateOrbiterNetDevice()

virtual Ptr< SatOrbiterNetDevice > ns3::SatOrbiterHelper::CreateOrbiterNetDevice ( )
pure virtual

Create a SatOrbiterNetDevice instance, with correct type infered from child classes.

Returns
SatOrbiterNetDevice instance

Implemented in ns3::SatOrbiterHelperDvb, and ns3::SatOrbiterHelperLora.

Referenced by Install().

Here is the caller graph for this function:

◆ EnableCreationTraces()

void ns3::SatOrbiterHelper::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 554 of file satellite-orbiter-helper.cc.

◆ GetTypeId()

◆ Initialize()

◆ Install() [1/2]

Ptr< NetDevice > ns3::SatOrbiterHelper::Install ( Ptr< Node > n)
Parameters
na node

This method creates a ns3::SatOrbiterNetDevice with the requested attributes and associate the resulting ns3::NetDevice with the ns3::Node.

Returns
pointer to the created device

Definition at line 264 of file satellite-orbiter-helper.cc.

References CreateOrbiterNetDevice(), m_deviceCount, and m_nodeIds.

Referenced by Install(), and InstallAllOrbiters().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Install() [2/2]

Ptr< NetDevice > ns3::SatOrbiterHelper::Install ( std::string aName)
Parameters
aNamename of a node

This method creates a ns3::SatOrbiterNetDevice with the requested attributes and associate the resulting ns3::NetDevice with the ns3::Node.

Returns
pointer to the created device

Definition at line 285 of file satellite-orbiter-helper.cc.

References Install().

Here is the call graph for this function:

◆ InstallAllOrbiters()

NetDeviceContainer ns3::SatOrbiterHelper::InstallAllOrbiters ( )

This method creates a ns3::SatOrbiterNetDevices with the requested attributes and associate the resulting ns3::NetDevices with the ns3::Nodes corresponding to the orbiters.

Returns
container to the created devices

Definition at line 248 of file satellite-orbiter-helper.cc.

References Install().

Here is the call graph for this function:

◆ SetDeviceAttribute()

void ns3::SatOrbiterHelper::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::SatOrbiterNetDevice created by SatOrbiterHelper::Install

Definition at line 224 of file satellite-orbiter-helper.cc.

References m_deviceFactory.

◆ SetFeederPhyAttribute()

void ns3::SatOrbiterHelper::SetFeederPhyAttribute ( std::string name,
const AttributeValue & value )

Set an attribute value to be propagated to each Feeder 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::SatPhy (feeder) created by SatOrbiterHelper::Install

Definition at line 240 of file satellite-orbiter-helper.cc.

◆ SetIslRoutes()

void ns3::SatOrbiterHelper::SetIslRoutes ( std::vector< std::pair< uint32_t, uint32_t > > isls)

Set ISL routes.

Parameters
islsList of all ISLs

Definition at line 562 of file satellite-orbiter-helper.cc.

References ns3::SatEnums::ECMP, m_islArbiterType, and ns3::SatEnums::UNICAST.

◆ SetUserPhyAttribute()

void ns3::SatOrbiterHelper::SetUserPhyAttribute ( std::string name,
const AttributeValue & value )

Set an attribute value to be propagated to each User 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::SatPhy (user) created by SatOrbiterHelper::Install

Definition at line 232 of file satellite-orbiter-helper.cc.

Member Data Documentation

◆ m_bbFrameConfFwd

Ptr<SatBbFrameConf> ns3::SatOrbiterHelper::m_bbFrameConfFwd
protected

◆ m_bbFrameConfRtn

Ptr<SatBbFrameConf> ns3::SatOrbiterHelper::m_bbFrameConfRtn
protected

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

Referenced by AttachChannelsFeeder(), and Initialize().

◆ m_carrierBandwidthConverter

◆ m_creationTrace

TracedCallback<std::string> ns3::SatOrbiterHelper::m_creationTrace
protected

Trace callback for creation traces.

Definition at line 310 of file satellite-orbiter-helper.h.

Referenced by GetTypeId().

◆ m_daFwdLinkInterferenceModel

SatPhy::InterferenceModel ns3::SatOrbiterHelper::m_daFwdLinkInterferenceModel
protected

◆ m_daRtnLinkInterferenceModel

◆ m_deviceCount

std::map<uint32_t, uint16_t> ns3::SatOrbiterHelper::m_deviceCount
protected

Definition at line 265 of file satellite-orbiter-helper.h.

Referenced by SatOrbiterHelper(), SatOrbiterHelper(), and Install().

◆ m_deviceFactory

◆ m_fwdDaConstantErrorRate

double ns3::SatOrbiterHelper::m_fwdDaConstantErrorRate
protected

Definition at line 287 of file satellite-orbiter-helper.h.

Referenced by AttachChannelsFeeder(), and GetTypeId().

◆ m_fwdErrorModel

SatPhy::ErrorModel ns3::SatOrbiterHelper::m_fwdErrorModel
protected

Definition at line 282 of file satellite-orbiter-helper.h.

Referenced by AttachChannelsFeeder(), GetTypeId(), and Initialize().

◆ m_fwdLinkCarrierCount

uint32_t ns3::SatOrbiterHelper::m_fwdLinkCarrierCount
protected

◆ m_fwdLinkResults

Ptr<SatLinkResults> ns3::SatOrbiterHelper::m_fwdLinkResults
protected

Forward channel link results (DVB-S2) are created if ErrorModel is configured to be AVI.

Definition at line 326 of file satellite-orbiter-helper.h.

Referenced by SatOrbiterHelper(), SatOrbiterHelper(), AttachChannelsFeeder(), and Initialize().

◆ m_fwdReadCtrlCb

SatMac::ReadCtrlMsgCallback ns3::SatOrbiterHelper::m_fwdReadCtrlCb
protected

Control forward link messages callback.

Definition at line 347 of file satellite-orbiter-helper.h.

Referenced by SatOrbiterHelper(), SatOrbiterHelper(), and AttachChannelsFeeder().

◆ m_gwMacMap

std::map<std::pair<uint32_t, uint32_t>, Ptr<SatOrbiterFeederMac> > ns3::SatOrbiterHelper::m_gwMacMap
protected

Map used in regenerative mode to store if MAC already created for a given pair SAT ID / GW ID.

Definition at line 337 of file satellite-orbiter-helper.h.

Referenced by AttachChannelsFeeder().

◆ m_islArbiterType

SatEnums::IslArbiterType_t ns3::SatOrbiterHelper::m_islArbiterType
protected

Arbiter in use to route packets on ISLs.

Definition at line 342 of file satellite-orbiter-helper.h.

Referenced by SatOrbiterHelper(), GetTypeId(), and SetIslRoutes().

◆ m_nodeIds

std::vector<uint32_t> ns3::SatOrbiterHelper::m_nodeIds
protected

◆ m_raSettings

RandomAccessSettings_s ns3::SatOrbiterHelper::m_raSettings
protected

◆ m_rtnDaConstantErrorRate

double ns3::SatOrbiterHelper::m_rtnDaConstantErrorRate
protected

◆ m_rtnErrorModel

◆ m_rtnLinkCarrierCount

uint32_t ns3::SatOrbiterHelper::m_rtnLinkCarrierCount
protected

◆ m_rtnLinkResults

Ptr<SatLinkResults> ns3::SatOrbiterHelper::m_rtnLinkResults
protected

Return channel link results (DVB-RCS2) are created if ErrorModel is configured to be AVI.

Definition at line 332 of file satellite-orbiter-helper.h.

Referenced by SatOrbiterHelper(), SatOrbiterHelper(), ns3::SatOrbiterHelperDvb::AttachChannelsUser(), ns3::SatOrbiterHelperLora::AttachChannelsUser(), and Initialize().

◆ m_rtnReadCtrlCb

SatMac::ReadCtrlMsgCallback ns3::SatOrbiterHelper::m_rtnReadCtrlCb
protected

◆ m_superframeSeq

Ptr<SatSuperframeSeq> ns3::SatOrbiterHelper::m_superframeSeq
protected

◆ m_symbolRateFwd

double ns3::SatOrbiterHelper::m_symbolRateFwd
protected

Definition at line 303 of file satellite-orbiter-helper.h.

Referenced by Initialize().

◆ m_symbolRateRtn

double ns3::SatOrbiterHelper::m_symbolRateRtn
protected

Definition at line 299 of file satellite-orbiter-helper.h.

Referenced by Initialize().


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