Creates needed objects for UT nodes like SatOrbiterNetDevice objects. More...
#include "satellite-ut-helper.h"
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 | Install (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) |
virtual Ptr< NetDevice > | Install (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)=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) |
Derived from Object. More... | |
Protected 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< SatLinkResults > | m_linkResults |
Ptr< SatLowerLayerServiceConf > | m_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< SatSuperframeSeq > | m_superframeSeq |
Creates needed objects for UT nodes like SatOrbiterNetDevice objects.
Handles needed configuration for the UT nodes.
Definition at line 52 of file satellite-ut-helper.h.
ns3::SatUtHelper::SatUtHelper | ( | ) |
Default constructor.
Definition at line 118 of file satellite-ut-helper.cc.
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 138 of file satellite-ut-helper.cc.
References m_channelFactory, m_deviceFactory, and m_llsConf.
|
inlinevirtual |
Destructor.
Definition at line 96 of file satellite-ut-helper.h.
void ns3::SatUtHelper::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 230 of file satellite-ut-helper.cc.
TypeId ns3::SatUtHelper::GetInstanceTypeId | ( | void | ) | const |
Derived from Object.
Definition at line 111 of file satellite-ut-helper.cc.
References GetTypeId().
|
static |
Derived from Object.
Definition at line 49 of file satellite-ut-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_asyncAccess, m_crdsaOnlyForControl, m_creationTrace, m_daConstantErrorRate, m_daInterferenceModel, m_enableChannelEstimationError, m_errorModel, and m_llsConf.
Referenced by GetInstanceTypeId().
void ns3::SatUtHelper::Initialize | ( | Ptr< SatLinkResultsFwd > | lrFwd | ) |
Definition at line 168 of file satellite-ut-helper.cc.
References ns3::SatPhyRxCarrierConf::EM_AVI, m_errorModel, and m_linkResults.
NetDeviceContainer ns3::SatUtHelper::Install | ( | 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 | ||
) |
c | a set of nodes |
satId | id of the satellite |
beamId | id of the beam |
fCh | forward channel |
rCh | return channel |
gwNd | satellite netdevice of the GW |
ncc | NCC (Network Control Center) |
satUserAddress | MAC address of satellite user link |
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 205 of file satellite-ut-helper.cc.
|
pure virtual |
n | node |
satId | id of the satellite |
beamId | id of the beam |
fCh | forward channel |
rCh | return channel |
gwNd | satellite netdevice of the GW |
ncc | NCC (Network Control Center) |
satUserAddress | MAC address of satellite user link |
Saves you from having to construct a temporary NodeContainer. This method is implemented in child classes.
Implemented in ns3::SatUtHelperLora, and ns3::SatUtHelperDvb.
void ns3::SatUtHelper::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 SatUtHelper::Install
Definition at line 189 of file satellite-ut-helper.cc.
References m_channelFactory.
void ns3::SatUtHelper::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 SatUtHelper::Install
Definition at line 181 of file satellite-ut-helper.cc.
References m_deviceFactory.
void ns3::SatUtHelper::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 SatUtHelper::Install
Definition at line 197 of file satellite-ut-helper.cc.
|
protected |
Definition at line 264 of file satellite-ut-helper.h.
Referenced by GetTypeId().
|
protected |
Definition at line 202 of file satellite-ut-helper.h.
Referenced by ns3::SatUtHelperDvb::Install(), and ns3::SatUtHelperLora::Install().
|
protected |
Definition at line 211 of file satellite-ut-helper.h.
Referenced by SatUtHelper(), and SetChannelAttribute().
|
protected |
Planned CRDSA usage:
Definition at line 257 of file satellite-ut-helper.h.
Referenced by GetTypeId(), and ns3::SatUtHelperDvb::Install().
|
protected |
Trace callback for creation traces.
Definition at line 239 of file satellite-ut-helper.h.
Referenced by GetTypeId().
|
protected |
Definition at line 227 of file satellite-ut-helper.h.
Referenced by GetTypeId(), ns3::SatUtHelperDvb::Install(), and ns3::SatUtHelperLora::Install().
|
protected |
Definition at line 217 of file satellite-ut-helper.h.
Referenced by GetTypeId(), ns3::SatUtHelperDvb::Install(), and ns3::SatUtHelperLora::Install().
|
protected |
Definition at line 212 of file satellite-ut-helper.h.
Referenced by SatUtHelper(), ns3::SatUtHelperDvb::Install(), ns3::SatUtHelperLora::Install(), and SetDeviceAttribute().
|
protected |
Enable channel estimation error modeling at forward link receiver (= UT).
Definition at line 250 of file satellite-ut-helper.h.
Referenced by GetTypeId(), ns3::SatUtHelperDvb::Install(), and ns3::SatUtHelperLora::Install().
|
protected |
Definition at line 222 of file satellite-ut-helper.h.
Referenced by GetTypeId(), Initialize(), ns3::SatUtHelperDvb::Install(), and ns3::SatUtHelperLora::Install().
|
protected |
Definition at line 203 of file satellite-ut-helper.h.
Referenced by ns3::SatUtHelperDvb::Install(), and ns3::SatUtHelperLora::Install().
|
protected |
Definition at line 234 of file satellite-ut-helper.h.
Referenced by Initialize(), ns3::SatUtHelperDvb::Install(), and ns3::SatUtHelperLora::Install().
|
protected |
Configured lower layer service configuration.
Definition at line 244 of file satellite-ut-helper.h.
Referenced by SatUtHelper(), GetTypeId(), ns3::SatUtHelperDvb::Install(), and ns3::SatUtHelperLora::Install().
|
protected |
The used random access model settings.
Definition at line 269 of file satellite-ut-helper.h.
Referenced by ns3::SatUtHelperDvb::Install(), and ns3::SatUtHelperLora::Install().
|
protected |
Definition at line 207 of file satellite-ut-helper.h.
Referenced by ns3::SatUtHelperDvb::Install().
|
protected |
Definition at line 208 of file satellite-ut-helper.h.
Referenced by ns3::SatUtHelperDvb::Install().
|
protected |
Definition at line 209 of file satellite-ut-helper.h.
Referenced by ns3::SatUtHelperDvb::Install().
|
protected |
Definition at line 204 of file satellite-ut-helper.h.
Referenced by ns3::SatUtHelperDvb::Install(), and ns3::SatUtHelperLora::Install().