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. More... | |
| 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. More... | |
| 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< SatOrbiterNetDevice > | CreateOrbiterNetDevice ()=0 |
| Create a SatOrbiterNetDevice instance, with correct type infered from child classes. More... | |
| void | EnableCreationTraces (Ptr< OutputStreamWrapper > stream, CallbackBase &cb) |
| Enables creation traces to be written in given file. More... | |
| TypeId | GetInstanceTypeId (void) const |
| 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. 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 | SetFeederPhyAttribute (std::string name, const AttributeValue &value) |
| Set an attribute value to be propagated to each Feeder Phy created by the helper. More... | |
| void | SetIslRoutes (std::vector< std::pair< uint32_t, uint32_t >> isls) |
| Set ISL routes. More... | |
| void | SetUserPhyAttribute (std::string name, const AttributeValue &value) |
| Set an attribute value to be propagated to each User Phy created by the helper. More... | |
Static Public Member Functions | |
| static TypeId | GetTypeId (void) |
| Get the type ID. More... | |
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.
| ns3::SatOrbiterHelper::SatOrbiterHelper | ( | ) |
Default constructor.
Definition at line 150 of file satellite-orbiter-helper.cc.
| 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 | ||
| ) |
Create a SatOrbiterHelper to make life easier when creating Satellite point to point network connections.
Definition at line 171 of file satellite-orbiter-helper.cc.
|
inlinevirtual |
Definition at line 96 of file satellite-orbiter-helper.h.
| 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 303 of file satellite-orbiter-helper.cc.
References AttachChannelsFeeder(), and AttachChannelsUser().
Here is the call graph for this function:| 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 | ||
| ) |
Simple channel estimation, which does not do actually anything
Definition at line 331 of file satellite-orbiter-helper.cc.
References ns3::SatEnums::DVB_ORBITER, ns3::SatEnums::EFFECTIVE_BANDWIDTH, ns3::SatLlc::GetSchedulingContexts(), m_bbFrameConfRtn, ns3::SatPhy::CreateParam_t::m_beamId, m_carrierBandwidthConverter, m_daFwdLinkInterferenceModel, ns3::SatPhy::CreateParam_t::m_device, m_fwdDaConstantErrorRate, m_fwdErrorModel, m_fwdLinkCarrierCount, m_fwdLinkResults, m_fwdReadCtrlCb, m_gwMacMap, m_nodeIds, ns3::SatOrbiterHelper::RandomAccessSettings_s::m_raCollisionModel, ns3::SatOrbiterHelper::RandomAccessSettings_s::m_raFwdInterferenceModel, ns3::SatOrbiterHelper::RandomAccessSettings_s::m_raInterferenceEliminationModel, ns3::SatOrbiterHelper::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::SatOrbiterLlc::NotifyTxOpportunity(), ns3::SatEnums::NT_SAT, ns3::SatLlc::Receive(), ns3::SatOrbiterFeederMac::Receive(), ns3::SatOrbiterNetDevice::ReceiveFeeder(), ns3::SatOrbiterNetDevice::ReceivePacketFeeder(), ns3::SatEnums::REGENERATION_LINK, ns3::SatEnums::REGENERATION_NETWORK, ns3::SatEnums::REGENERATION_PHY, ns3::SatEnums::RETURN_FEEDER_CH, ns3::SatOrbiterFeederPhy::SendPduWithParams(), ns3::SatConstVariables::SUPERFRAME_SEQUENCE, and ns3::SatEnums::TRANSPARENT.
Referenced by AttachChannels().
Here is the call graph for this function:
Here is the caller graph for this function:
|
pure virtual |
Implemented in ns3::SatOrbiterHelperLora, and ns3::SatOrbiterHelperDvb.
Referenced by AttachChannels().
Here is the caller graph for this function:
|
pure virtual |
Create a SatOrbiterNetDevice instance, with correct type infered from child classes.
Implemented in ns3::SatOrbiterHelperLora, and ns3::SatOrbiterHelperDvb.
Referenced by Install().
Here is the caller graph for this function:| void ns3::SatOrbiterHelper::EnableCreationTraces | ( | Ptr< OutputStreamWrapper > | stream, |
| CallbackBase & | cb | ||
| ) |
Enables creation traces to be written in given file.
| stream | stream for creation trace outputs |
| cb | callback to connect traces |
Definition at line 562 of file satellite-orbiter-helper.cc.
| TypeId ns3::SatOrbiterHelper::GetInstanceTypeId | ( | void | ) | const |
Definition at line 143 of file satellite-orbiter-helper.cc.
References GetTypeId().
Here is the call graph for this function:
|
static |
Get the type ID.
Definition at line 66 of file satellite-orbiter-helper.cc.
References ns3::SatEnums::ECMP, ns3::SatPhyRxCarrierConf::EM_AVI, ns3::SatPhyRxCarrierConf::EM_CONSTANT, ns3::SatPhyRxCarrierConf::EM_NONE, ns3::SatPhyRxCarrierConf::IF_CONSTANT, ns3::SatPhyRxCarrierConf::IF_PER_FRAGMENT, ns3::SatPhyRxCarrierConf::IF_PER_PACKET, ns3::SatPhyRxCarrierConf::IF_TRACE, m_creationTrace, m_daFwdLinkInterferenceModel, m_daRtnLinkInterferenceModel, m_fwdDaConstantErrorRate, m_fwdErrorModel, m_islArbiterType, m_rtnDaConstantErrorRate, m_rtnErrorModel, and ns3::SatEnums::UNICAST.
Referenced by GetInstanceTypeId().
Here is the caller graph for this function:| void ns3::SatOrbiterHelper::Initialize | ( | Ptr< SatLinkResultsFwd > | lrFwd, |
| Ptr< SatLinkResultsRtn > | lrRcs2 | ||
| ) |
Definition at line 196 of file satellite-orbiter-helper.cc.
References ns3::SatEnums::DVB_S2, ns3::SatEnums::EFFECTIVE_BANDWIDTH, ns3::SatPhyRxCarrierConf::EM_AVI, ns3::SatEnums::FORWARD_USER_CH, m_bbFrameConfFwd, m_bbFrameConfRtn, m_carrierBandwidthConverter, m_fwdErrorModel, m_fwdLinkResults, m_rtnErrorModel, m_rtnLinkResults, m_symbolRateFwd, m_symbolRateRtn, and ns3::SatEnums::RETURN_FEEDER_CH.
| Ptr< NetDevice > ns3::SatOrbiterHelper::Install | ( | Ptr< Node > | n | ) |
| n | a node |
This method creates a ns3::SatOrbiterNetDevice with the requested attributes and associate the resulting ns3::NetDevice with the ns3::Node.
Definition at line 272 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:| Ptr< NetDevice > ns3::SatOrbiterHelper::Install | ( | std::string | aName | ) |
| aName | name of a node |
This method creates a ns3::SatOrbiterNetDevice with the requested attributes and associate the resulting ns3::NetDevice with the ns3::Node.
Definition at line 293 of file satellite-orbiter-helper.cc.
References Install().
Here is the call graph for this function:| 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.
Definition at line 256 of file satellite-orbiter-helper.cc.
References Install().
Here is the call graph for this function:| void ns3::SatOrbiterHelper::SetDeviceAttribute | ( | std::string | name, |
| const AttributeValue & | value | ||
| ) |
Set an attribute value to be propagated to each NetDevice created by the helper.
| name | the name of the attribute to set |
| value | the value of the attribute to set |
Set these attributes on each ns3::SatOrbiterNetDevice created by SatOrbiterHelper::Install
Definition at line 232 of file satellite-orbiter-helper.cc.
References m_deviceFactory.
| 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.
| name | the name of the attribute to set |
| value | the value of the attribute to set |
Set these attributes on each ns3::SatPhy (feeder) created by SatOrbiterHelper::Install
Definition at line 248 of file satellite-orbiter-helper.cc.
| void ns3::SatOrbiterHelper::SetIslRoutes | ( | std::vector< std::pair< uint32_t, uint32_t >> | isls | ) |
Set ISL routes.
| isls | List of all ISLs |
Definition at line 570 of file satellite-orbiter-helper.cc.
References ns3::SatEnums::ECMP, m_islArbiterType, and ns3::SatEnums::UNICAST.
| 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.
| name | the name of the attribute to set |
| value | the value of the attribute to set |
Set these attributes on each ns3::SatPhy (user) created by SatOrbiterHelper::Install
Definition at line 240 of file satellite-orbiter-helper.cc.
|
protected |
Definition at line 306 of file satellite-orbiter-helper.h.
Referenced by ns3::SatOrbiterHelperDvb::AttachChannelsUser(), and Initialize().
|
protected |
Definition at line 302 of file satellite-orbiter-helper.h.
Referenced by AttachChannelsFeeder(), and Initialize().
|
protected |
Definition at line 261 of file satellite-orbiter-helper.h.
Referenced by AttachChannelsFeeder(), ns3::SatOrbiterHelperDvb::AttachChannelsUser(), ns3::SatOrbiterHelperLora::AttachChannelsUser(), and Initialize().
|
protected |
Trace callback for creation traces.
Definition at line 311 of file satellite-orbiter-helper.h.
Referenced by GetTypeId().
|
protected |
Definition at line 273 of file satellite-orbiter-helper.h.
Referenced by AttachChannelsFeeder(), and GetTypeId().
|
protected |
Definition at line 278 of file satellite-orbiter-helper.h.
Referenced by ns3::SatOrbiterHelperDvb::AttachChannelsUser(), ns3::SatOrbiterHelperLora::AttachChannelsUser(), and GetTypeId().
|
protected |
Definition at line 266 of file satellite-orbiter-helper.h.
Referenced by Install().
|
protected |
Definition at line 268 of file satellite-orbiter-helper.h.
Referenced by ns3::SatOrbiterHelperDvb::SatOrbiterHelperDvb(), ns3::SatOrbiterHelperLora::SatOrbiterHelperLora(), ns3::SatOrbiterHelperDvb::CreateOrbiterNetDevice(), ns3::SatOrbiterHelperLora::CreateOrbiterNetDevice(), and SetDeviceAttribute().
|
protected |
Definition at line 288 of file satellite-orbiter-helper.h.
Referenced by AttachChannelsFeeder(), and GetTypeId().
|
protected |
Definition at line 283 of file satellite-orbiter-helper.h.
Referenced by AttachChannelsFeeder(), GetTypeId(), and Initialize().
|
protected |
Definition at line 262 of file satellite-orbiter-helper.h.
Referenced by AttachChannelsFeeder().
|
protected |
Forward channel link results (DVB-S2) are created if ErrorModel is configured to be AVI.
Definition at line 327 of file satellite-orbiter-helper.h.
Referenced by AttachChannelsFeeder(), and Initialize().
|
protected |
Control forward link messages callback.
Definition at line 348 of file satellite-orbiter-helper.h.
Referenced by AttachChannelsFeeder().
|
protected |
Map used in regenerative mode to store if MAC already created for a given pair SAT ID / GW ID.
Definition at line 338 of file satellite-orbiter-helper.h.
Referenced by AttachChannelsFeeder().
|
protected |
Arbiter in use to route packets on ISLs.
Definition at line 343 of file satellite-orbiter-helper.h.
Referenced by GetTypeId(), and SetIslRoutes().
|
protected |
Satellites node id.
Definition at line 259 of file satellite-orbiter-helper.h.
Referenced by AttachChannelsFeeder(), ns3::SatOrbiterHelperDvb::AttachChannelsUser(), ns3::SatOrbiterHelperLora::AttachChannelsUser(), and Install().
|
protected |
The used random access model settings.
Definition at line 321 of file satellite-orbiter-helper.h.
Referenced by AttachChannelsFeeder(), ns3::SatOrbiterHelperDvb::AttachChannelsUser(), and ns3::SatOrbiterHelperLora::AttachChannelsUser().
|
protected |
Definition at line 298 of file satellite-orbiter-helper.h.
Referenced by ns3::SatOrbiterHelperDvb::AttachChannelsUser(), ns3::SatOrbiterHelperLora::AttachChannelsUser(), and GetTypeId().
|
protected |
Definition at line 293 of file satellite-orbiter-helper.h.
Referenced by ns3::SatOrbiterHelperDvb::AttachChannelsUser(), ns3::SatOrbiterHelperLora::AttachChannelsUser(), GetTypeId(), and Initialize().
|
protected |
Definition at line 263 of file satellite-orbiter-helper.h.
Referenced by ns3::SatOrbiterHelperDvb::AttachChannelsUser(), and ns3::SatOrbiterHelperLora::AttachChannelsUser().
|
protected |
Return channel link results (DVB-RCS2) are created if ErrorModel is configured to be AVI.
Definition at line 333 of file satellite-orbiter-helper.h.
Referenced by ns3::SatOrbiterHelperDvb::AttachChannelsUser(), ns3::SatOrbiterHelperLora::AttachChannelsUser(), and Initialize().
|
protected |
Control return link messages callback.
Definition at line 353 of file satellite-orbiter-helper.h.
Referenced by ns3::SatOrbiterHelperDvb::AttachChannelsUser(), and ns3::SatOrbiterHelperLora::AttachChannelsUser().
|
protected |
Superframe sequence.
Definition at line 316 of file satellite-orbiter-helper.h.
Referenced by AttachChannelsFeeder(), ns3::SatOrbiterHelperDvb::AttachChannelsUser(), and ns3::SatOrbiterHelperLora::AttachChannelsUser().
|
protected |
Definition at line 304 of file satellite-orbiter-helper.h.
Referenced by Initialize().
|
protected |
Definition at line 300 of file satellite-orbiter-helper.h.
Referenced by Initialize().