Creates needed objects for Satellite node like SatorbiterNetDevice objects. More...
#include "satellite-orbiter-helper.h"
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().
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().
|
pure virtual |
Implemented in ns3::SatOrbiterHelperLora, and ns3::SatOrbiterHelperDvb.
Referenced by AttachChannels().
|
pure virtual |
Create a SatOrbiterNetDevice instance, with correct type infered from child classes.
Implemented in ns3::SatOrbiterHelperLora, and ns3::SatOrbiterHelperDvb.
Referenced by Install().
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().
|
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().
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().
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().
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().
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().