Creates needed objects for GW nodes like SatOrbiterNetDevice objects. More...
#include "satellite-gw-helper.h"
Classes | |
struct | RandomAccessSettings_s |
Random access setting options. More... | |
Public Member Functions | |
SatGwHelper () | |
Default constructor. More... | |
SatGwHelper (SatTypedefs::CarrierBandwidthConverter_t carrierBandwidthConverter, uint32_t fwdLinkCarrierCount, Ptr< SatSuperframeSeq > seq, SatMac::ReadCtrlMsgCallback readCb, SatMac::ReserveCtrlMsgCallback reserveCb, SatMac::SendCtrlMsgCallback sendCb, RandomAccessSettings_s randomAccessSettings) | |
Create a SatGwHelper to make life easier when creating Satellite point to point network connections. More... | |
virtual | ~SatGwHelper () |
void | EnableCreationTraces (Ptr< OutputStreamWrapper > stream, CallbackBase &cb) |
Enables creation traces to be written in given file. More... | |
Ptr< SatBbFrameConf > | GetBbFrameConf () const |
Get BB frame configuration. More... | |
TypeId | GetInstanceTypeId (void) const |
void | Initialize (Ptr< SatLinkResultsRtn > lrRcs2, Ptr< SatLinkResultsFwd > lrFwd, SatEnums::DvbVersion_t dvbVersion, bool useScpc) |
NetDeviceContainer | Install (NodeContainer c, uint32_t gwId, uint32_t satId, uint32_t beamId, uint32_t feederSatId, uint32_t feederBeamId, Ptr< SatChannel > fCh, Ptr< SatChannel > rCh, SatPhy::ChannelPairGetterCallback cbChannel, Ptr< SatNcc > ncc, Ptr< SatLowerLayerServiceConf > llsConf) |
virtual Ptr< NetDevice > | Install (Ptr< Node > n, uint32_t gwId, uint32_t satId, uint32_t beamId, uint32_t feederSatId, uint32_t feederBeamId, Ptr< SatChannel > fCh, Ptr< SatChannel > rCh, SatPhy::ChannelPairGetterCallback cbChannel, Ptr< SatNcc > ncc, Ptr< SatLowerLayerServiceConf > llsConf)=0 |
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) |
Get the type ID. More... | |
Protected Attributes | |
Ptr< SatBbFrameConf > | m_bbFrameConf |
SatTypedefs::CarrierBandwidthConverter_t | m_carrierBandwidthConverter |
ObjectFactory | m_channelFactory |
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 |
SatEnums::FwdSchedulingAlgorithm_t | m_fwdSchedulingAlgorithm |
The forward link algorithm used. More... | |
Ptr< SatLinkResults > | m_linkResults |
RandomAccessSettings_s | m_raSettings |
The used random access model settings. More... | |
SatMac::ReadCtrlMsgCallback | m_readCtrlCb |
SatMac::ReserveCtrlMsgCallback | m_reserveCtrlCb |
uint32_t | m_rtnLinkCarrierCount |
SatMac::SendCtrlMsgCallback | m_sendCtrlCb |
Ptr< SatSuperframeSeq > | m_superframeSeq |
double | m_symbolRate |
Creates needed objects for GW nodes like SatOrbiterNetDevice objects.
Handles needed configuration for the GW nodes.
Definition at line 51 of file satellite-gw-helper.h.
ns3::SatGwHelper::SatGwHelper | ( | ) |
Default constructor.
Definition at line 111 of file satellite-gw-helper.cc.
ns3::SatGwHelper::SatGwHelper | ( | SatTypedefs::CarrierBandwidthConverter_t | carrierBandwidthConverter, |
uint32_t | fwdLinkCarrierCount, | ||
Ptr< SatSuperframeSeq > | seq, | ||
SatMac::ReadCtrlMsgCallback | readCb, | ||
SatMac::ReserveCtrlMsgCallback | reserveCb, | ||
SatMac::SendCtrlMsgCallback | sendCb, | ||
RandomAccessSettings_s | randomAccessSettings | ||
) |
Create a SatGwHelper to make life easier when creating Satellite point to point network connections.
Definition at line 124 of file satellite-gw-helper.cc.
References m_channelFactory, and m_deviceFactory.
|
inlinevirtual |
Definition at line 90 of file satellite-gw-helper.h.
void ns3::SatGwHelper::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 262 of file satellite-gw-helper.cc.
Ptr< SatBbFrameConf > ns3::SatGwHelper::GetBbFrameConf | ( | ) | const |
Get BB frame configuration.
Definition at line 195 of file satellite-gw-helper.cc.
References m_bbFrameConf.
TypeId ns3::SatGwHelper::GetInstanceTypeId | ( | void | ) | const |
Definition at line 106 of file satellite-gw-helper.cc.
References GetTypeId().
|
static |
Get the type ID.
Definition at line 50 of file satellite-gw-helper.cc.
References 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_daConstantErrorRate, m_daInterferenceModel, m_enableChannelEstimationError, m_errorModel, m_fwdSchedulingAlgorithm, ns3::SatEnums::NO_TIME_SLICING, and ns3::SatEnums::TIME_SLICING.
Referenced by GetInstanceTypeId().
void ns3::SatGwHelper::Initialize | ( | Ptr< SatLinkResultsRtn > | lrRcs2, |
Ptr< SatLinkResultsFwd > | lrFwd, | ||
SatEnums::DvbVersion_t | dvbVersion, | ||
bool | useScpc | ||
) |
Definition at line 151 of file satellite-gw-helper.cc.
References ns3::SatEnums::EFFECTIVE_BANDWIDTH, ns3::SatPhyRxCarrierConf::EM_AVI, ns3::SatEnums::FORWARD_FEEDER_CH, m_bbFrameConf, m_carrierBandwidthConverter, m_errorModel, m_fwdSchedulingAlgorithm, m_linkResults, m_symbolRate, ns3::SatEnums::NO_TIME_SLICING, and ns3::SatEnums::TIME_SLICING.
NetDeviceContainer ns3::SatGwHelper::Install | ( | NodeContainer | c, |
uint32_t | gwId, | ||
uint32_t | satId, | ||
uint32_t | beamId, | ||
uint32_t | feederSatId, | ||
uint32_t | feederBeamId, | ||
Ptr< SatChannel > | fCh, | ||
Ptr< SatChannel > | rCh, | ||
SatPhy::ChannelPairGetterCallback | cbChannel, | ||
Ptr< SatNcc > | ncc, | ||
Ptr< SatLowerLayerServiceConf > | llsConf | ||
) |
c | a set of nodes |
gwId | id of the gw |
satId | id of the satellite linked to the UT |
beamId | id of the beam linked to the UT |
feederSatId | id of the satellite linked to the GW |
feederBeamId | id of the beam linked to the GW |
fCh | forward channel |
rCh | return channel |
ncc | NCC (Network Control Center) |
This method creates a ns3::SatChannel with the attributes configured by SatGwHelper::SetChannelAttribute, then, for each node in the input container, we create a ns3::SatNetDevice with the requested attributes, a queue for this ns3::SatNetDevice, and associate the resulting ns3::SatNetDevice with the ns3::Node and ns3::SatChannel.
Definition at line 227 of file satellite-gw-helper.cc.
|
pure virtual |
n | node |
gwId | id of the gw |
satId | id of the satellite linked to the UT |
beamId | id of the beam linked to the UT |
feederSatId | id of the satellite linked to the GW |
feederBeamId | id of the beam linked to the GW |
fCh | forward channel |
rCh | return channel |
ncc | NCC (Network Control Center) |
Saves you from having to construct a temporary NodeContainer. This method is implemented in child classes.
Implemented in ns3::SatGwHelperLora, and ns3::SatGwHelperDvb.
void ns3::SatGwHelper::SetChannelAttribute | ( | std::string | name, |
const AttributeValue & | value | ||
) |
Set an attribute value to be propagated to each Channel created by the helper.
name | the name of the attribute to set |
value | the value of the attribute to set |
Set these attribute on each ns3::SatChannel created by SatGwHelper::Install
Definition at line 211 of file satellite-gw-helper.cc.
References m_channelFactory.
void ns3::SatGwHelper::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::SatNetDevice created by SatGwHelper::Install
Definition at line 203 of file satellite-gw-helper.cc.
References m_deviceFactory.
void ns3::SatGwHelper::SetPhyAttribute | ( | std::string | name, |
const AttributeValue & | value | ||
) |
Set an attribute value to be propagated to each 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::SatNetDevice created by SatGwHelper::Install
Definition at line 219 of file satellite-gw-helper.cc.
|
protected |
Definition at line 216 of file satellite-gw-helper.h.
Referenced by GetBbFrameConf(), Initialize(), and ns3::SatGwHelperDvb::Install().
|
protected |
Definition at line 212 of file satellite-gw-helper.h.
Referenced by Initialize(), ns3::SatGwHelperDvb::Install(), and ns3::SatGwHelperLora::Install().
|
protected |
Definition at line 223 of file satellite-gw-helper.h.
Referenced by SatGwHelper(), and SetChannelAttribute().
|
protected |
Trace callback for creation traces.
Definition at line 251 of file satellite-gw-helper.h.
Referenced by GetTypeId().
|
protected |
Definition at line 239 of file satellite-gw-helper.h.
Referenced by GetTypeId(), ns3::SatGwHelperDvb::Install(), and ns3::SatGwHelperLora::Install().
|
protected |
Definition at line 229 of file satellite-gw-helper.h.
Referenced by GetTypeId(), ns3::SatGwHelperDvb::Install(), and ns3::SatGwHelperLora::Install().
|
protected |
Definition at line 224 of file satellite-gw-helper.h.
Referenced by SatGwHelper(), ns3::SatGwHelperDvb::Install(), ns3::SatGwHelperLora::Install(), and SetDeviceAttribute().
|
protected |
Enable channel estimation error modeling at forward link receiver (= UT).
Definition at line 259 of file satellite-gw-helper.h.
Referenced by GetTypeId(), ns3::SatGwHelperDvb::Install(), and ns3::SatGwHelperLora::Install().
|
protected |
Definition at line 234 of file satellite-gw-helper.h.
Referenced by GetTypeId(), Initialize(), ns3::SatGwHelperDvb::Install(), and ns3::SatGwHelperLora::Install().
|
protected |
The forward link algorithm used.
Definition at line 269 of file satellite-gw-helper.h.
Referenced by GetTypeId(), Initialize(), and ns3::SatGwHelperDvb::Install().
|
protected |
Definition at line 246 of file satellite-gw-helper.h.
Referenced by Initialize(), ns3::SatGwHelperDvb::Install(), and ns3::SatGwHelperLora::Install().
|
protected |
The used random access model settings.
Definition at line 264 of file satellite-gw-helper.h.
Referenced by ns3::SatGwHelperDvb::Install(), and ns3::SatGwHelperLora::Install().
|
protected |
Definition at line 219 of file satellite-gw-helper.h.
Referenced by ns3::SatGwHelperDvb::Install().
|
protected |
Definition at line 220 of file satellite-gw-helper.h.
Referenced by ns3::SatGwHelperDvb::Install().
|
protected |
Definition at line 213 of file satellite-gw-helper.h.
Referenced by ns3::SatGwHelperDvb::Install(), and ns3::SatGwHelperLora::Install().
|
protected |
Definition at line 221 of file satellite-gw-helper.h.
Referenced by ns3::SatGwHelperDvb::Install().
|
protected |
Definition at line 214 of file satellite-gw-helper.h.
Referenced by ns3::SatGwHelperDvb::Install(), and ns3::SatGwHelperLora::Install().
|
protected |
Definition at line 253 of file satellite-gw-helper.h.
Referenced by Initialize().