23 #ifndef SATELLITE_GW_HELPER_H
24 #define SATELLITE_GW_HELPER_H
26 #include <ns3/net-device-container.h>
27 #include <ns3/node-container.h>
28 #include <ns3/object-factory.h>
29 #include <ns3/satellite-bbframe-conf.h>
30 #include <ns3/satellite-channel.h>
31 #include <ns3/satellite-link-results.h>
32 #include <ns3/satellite-mac.h>
33 #include <ns3/satellite-ncc.h>
34 #include <ns3/satellite-superframe-sequence.h>
35 #include <ns3/satellite-typedefs.h>
36 #include <ns3/traced-callback.h>
43 class OutputStreamWrapper;
81 uint32_t fwdLinkCarrierCount,
82 Ptr<SatSuperframeSeq> seq,
100 Ptr<SatLinkResultsFwd> lrFwd,
164 NetDeviceContainer
InstallDvb(NodeContainer c,
171 Ptr<SatLowerLayerServiceConf> llsConf,
195 Ptr<SatLowerLayerServiceConf> llsConf,
224 Ptr<SatLowerLayerServiceConf> llsConf,
248 Ptr<SatLowerLayerServiceConf> llsConf,
FwdSchedulingAlgorithm_t
The scheduling algorithm used to fill the BBFrames.
RandomAccessModel_t
The defined random access models.
RegenerationMode_t
The regeneration mode used in satellites.
DvbVersion_t
The scheduling algorithm used to fill the BBFrames.
Creates needed objects for GW nodes like SatGeoNetDevice objects.
Ptr< SatSuperframeSeq > m_superframeSeq
SatPhy::ErrorModel m_errorModel
ObjectFactory m_channelFactory
void SetChannelAttribute(std::string name, const AttributeValue &value)
Set an attribute value to be propagated to each Channel created by the helper.
void Initialize(Ptr< SatLinkResultsRtn > lrRcs2, Ptr< SatLinkResultsFwd > lrFwd, SatEnums::DvbVersion_t dvbVersion, bool useScpc)
void SetDeviceAttribute(std::string name, const AttributeValue &value)
Set an attribute value to be propagated to each NetDevice created by the helper.
void SetPhyAttribute(std::string name, const AttributeValue &value)
Set an attribute value to be propagated to each Phy created by the helper.
static TypeId GetTypeId(void)
Get the type ID.
SatMac::SendCtrlMsgCallback m_sendCtrlCb
RandomAccessSettings_s m_raSettings
The used random access model settings.
TracedCallback< std::string > m_creationTrace
Trace callback for creation traces.
NetDeviceContainer InstallDvb(NodeContainer c, uint32_t gwId, uint32_t satId, uint32_t beamId, Ptr< SatChannel > fCh, Ptr< SatChannel > rCh, Ptr< SatNcc > ncc, Ptr< SatLowerLayerServiceConf > llsConf, SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode)
void EnableCreationTraces(Ptr< OutputStreamWrapper > stream, CallbackBase &cb)
Enables creation traces to be written in given file.
SatEnums::FwdSchedulingAlgorithm_t m_fwdSchedulingAlgorithm
The forward link algorithm used.
uint32_t m_rtnLinkCarrierCount
bool m_enableChannelEstimationError
Enable channel estimation error modeling at forward link receiver (= UT).
double m_daConstantErrorRate
Ptr< SatBbFrameConf > GetBbFrameConf() const
Get BB frame configuration.
SatMac::ReadCtrlMsgCallback m_readCtrlCb
ObjectFactory m_deviceFactory
Ptr< SatBbFrameConf > m_bbFrameConf
Ptr< SatLinkResults > m_linkResults
TypeId GetInstanceTypeId(void) const
NetDeviceContainer InstallLora(NodeContainer c, uint32_t gwId, uint32_t satId, uint32_t beamId, Ptr< SatChannel > fCh, Ptr< SatChannel > rCh, Ptr< SatNcc > ncc, Ptr< SatLowerLayerServiceConf > llsConf, SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode)
SatMac::ReserveCtrlMsgCallback m_reserveCtrlCb
SatGwHelper()
Default constructor.
SatPhy::InterferenceModel m_daInterferenceModel
SatTypedefs::CarrierBandwidthConverter_t m_carrierBandwidthConverter
Callback< uint32_t, Ptr< SatControlMessage > > ReserveCtrlMsgCallback
Callback to reserve an id and initially store the control message.
Callback< uint32_t, uint32_t > SendCtrlMsgCallback
Callback to send a control message and allocate a recv ID for it.
Callback< Ptr< SatControlMessage >, uint32_t > ReadCtrlMsgCallback
Callback to read control messages from container storing control messages.
InterferenceEliminationModel
Interference cancelation model enum.
ErrorModel
Error model enum.
RandomAccessCollisionModel
Random access collision model enum.
InterferenceModel
Interference model enum.
Callback< double, SatEnums::ChannelType_t, uint32_t, SatEnums::CarrierBandwidthType_t > CarrierBandwidthConverter_t
Callback for carrier bandwidths.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.
Random access setting options.
SatPhyRxCarrierConf::InterferenceModel m_raInterferenceModel
double m_raConstantErrorRate
SatPhyRxCarrierConf::InterferenceEliminationModel m_raInterferenceEliminationModel
SatEnums::RandomAccessModel_t m_randomAccessModel
SatPhyRxCarrierConf::RandomAccessCollisionModel m_raCollisionModel