ns3::SatGeoFeederLlc Class Reference

SatGeoFeederLlc holds the GEO feeder implementation of LLC layer. More...

#include "satellite-geo-feeder-llc.h"

+ Inheritance diagram for ns3::SatGeoFeederLlc:
+ Collaboration diagram for ns3::SatGeoFeederLlc:

Public Member Functions

 SatGeoFeederLlc ()
 Construct a SatGeoFeederLlc, should not be used. More...
 
 SatGeoFeederLlc (SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode)
 Construct a SatGeoFeederLlc. More...
 
virtual ~SatGeoFeederLlc ()
 Destroy a SatGeoFeederLlc. More...
 
- Public Member Functions inherited from ns3::SatGeoLlc
 SatGeoLlc ()
 Construct a SatGeoLlc, should not be used. More...
 
 SatGeoLlc (SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode)
 Construct a SatGeoLlc. More...
 
virtual ~SatGeoLlc ()
 Destroy a SatGeoLlc. More...
 
virtual bool Enque (Ptr< Packet > packet, Address dest, uint8_t flowId)
 Called from higher layer (SatNetDevice) to enque packet to LLC. More...
 
virtual uint32_t GetNBytesInQueue (Mac48Address utAddress) const
 Get the number of (new) bytes at LLC queue for a certain UT. More...
 
virtual uint32_t GetNPacketsInQueue (Mac48Address utAddress) const
 Get the number of (new) packets at LLC queues for a certain UT. More...
 
virtual void GetSchedulingContexts (std::vector< Ptr< SatSchedulingObject >> &output) const
 Create and fill the scheduling objects based on LLC layer information. More...
 
virtual Ptr< Packet > NotifyTxOpportunity (uint32_t bytes, Mac48Address utAddr, uint8_t flowId, uint32_t &bytesLeft, uint32_t &nextMinTxO)
 Called from lower layer (MAC) to inform a Tx opportunity of certain amount of bytes. More...
 
virtual void ReceiveHigherLayerPdu (Ptr< Packet > packet, Mac48Address source, Mac48Address dest)
 Receive HL PDU from encapsulator/decapsulator entity. More...
 
void SetReceiveSatelliteCallback (SatGeoLlc::ReceiveSatelliteCallback cb)
 Set Receive callback to forward packet to upper layer on satellite. More...
 
- Public Member Functions inherited from ns3::SatLlc
 SatLlc ()
 Construct a SatLlc, should not be used. More...
 
 SatLlc (SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode)
 Construct a SatLlc. More...
 
virtual ~SatLlc ()
 Destroy a SatLlc. More...
 
void AddDecap (Mac48Address source, Mac48Address dest, uint8_t flowId, Ptr< SatBaseEncapsulator > dec)
 Add an decapsulator entry for the LLC. More...
 
void AddEncap (Mac48Address source, Mac48Address dest, uint8_t flowId, Ptr< SatBaseEncapsulator > enc)
 Add an encapsulator entry for the LLC. More...
 
virtual bool BuffersEmpty () const
 Are buffers empty? More...
 
virtual bool ControlBuffersEmpty () const
 Are buffers empty? More...
 
virtual uint32_t GetNBytesInQueue () const
 Get the total number of (new) bytes in all encapsulators. More...
 
virtual uint32_t GetNPacketsInQueue () const
 Get the total number of (new) packets in all encapsulators. More...
 
virtual void Receive (Ptr< Packet > packet, Mac48Address source, Mac48Address dest)
 Receive user data packet from lower layer. More...
 
void SetAdditionalHeaderSize (uint32_t additionalHeaderSize)
 Set the additional header size. More...
 
void SetCtrlMsgCallback (SatBaseEncapsulator::SendCtrlCallback cb)
 
virtual void SetGwAddress (Mac48Address address)
 Set the GW address. More...
 
virtual void SetNodeInfo (Ptr< SatNodeInfo > nodeInfo)
 Set the node info. More...
 
void SetReadCtrlCallback (SatLlc::ReadCtrlMsgCallback cb)
 Method to set read control message callback. More...
 
void SetReceiveCallback (SatLlc::ReceiveCallback cb)
 Set Receive callback to forward packet to upper layer. More...
 
virtual void SetSatelliteAddress (Mac48Address address)
 Set the SAT address. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Derived from Object. More...
 
- Static Public Member Functions inherited from ns3::SatGeoLlc
static TypeId GetTypeId (void)
 Derived from Object. More...
 
- Static Public Member Functions inherited from ns3::SatLlc
static TypeId GetTypeId (void)
 Derived from Object. More...
 

Protected Member Functions

virtual void CreateDecap (Ptr< EncapKey > key)
 Virtual method to create a new decapsulator 'on-a-need-basis' dynamically. More...
 
virtual void CreateEncap (Ptr< EncapKey > key)
 Method to create a new encapsulator 'on-a-need-basis' dynamically. More...
 
virtual void DoDispose ()
 Dispose of this class instance. More...
 
- Protected Member Functions inherited from ns3::SatLlc
virtual SatEnums::SatLinkDir_t GetSatLinkRxDir ()
 Get the link RX direction. More...
 
virtual SatEnums::SatLinkDir_t GetSatLinkTxDir ()
 Get the link TX direction. More...
 
virtual void ReceiveAck (Ptr< SatArqAckMessage > ack, Mac48Address source, Mac48Address dest)
 Receive a control msg (ARQ ACK) from lower layer. More...
 

Additional Inherited Members

- Public Types inherited from ns3::SatGeoLlc
typedef Callback< void, Ptr< Packet >, const Address & > ReceiveSatelliteCallback
 Receive callback used for sending packet to netdevice layer. More...
 
- Public Types inherited from ns3::SatLlc
typedef std::map< Ptr< EncapKey >, Ptr< SatBaseEncapsulator >, EncapKeyCompareEncapContainer_t
 Key = Ptr<EncapKey> (source, dest, flowId) Value = Ptr<SatBaseEncapsulator> Compare class = EncapKeyCompare. More...
 
typedef Callback< Ptr< SatControlMessage >, uint32_t > ReadCtrlMsgCallback
 Callback to read control messages from container storing control messages. More...
 
typedef Callback< void, Ptr< const Packet > > ReceiveCallback
 Receive callback used for sending packet to netdevice layer. More...
 
- Protected Attributes inherited from ns3::SatGeoLlc
ReceiveSatelliteCallback m_rxSatelliteCallback
 The upper layer package receive callback. More...
 
- Protected Attributes inherited from ns3::SatLlc
uint32_t m_additionalHeaderSize
 Additional header size to add to encapsulation/decapsulation. More...
 
EncapContainer_t m_decaps
 Map of decapsulator base pointers. More...
 
EncapContainer_t m_encaps
 Map of encapsulator base pointers. More...
 
SatEnums::RegenerationMode_t m_forwardLinkRegenerationMode
 Regeneration mode on forward link. More...
 
bool m_fwdLinkArqEnabled
 Is FWD link ARQ enabled. More...
 
Mac48Address m_gwAddress
 GW address. More...
 
Ptr< SatNodeInfom_nodeInfo
 Node info containing node related information, such as node type, node id and MAC address (of the SatNetDevice) More...
 
TracedCallback< Time, SatEnums::SatPacketEvent_t, SatEnums::SatNodeType_t, uint32_t, Mac48Address, SatEnums::SatLogLevel_t, SatEnums::SatLinkDir_t, std::string > m_packetTrace
 Trace callback used for packet tracing: More...
 
SatLlc::ReadCtrlMsgCallback m_readCtrlCallback
 The read control message callback. More...
 
SatEnums::RegenerationMode_t m_returnLinkRegenerationMode
 Regeneration mode on return link. More...
 
bool m_rtnLinkArqEnabled
 Is RTN link ARQ enabled. More...
 
ReceiveCallback m_rxCallback
 The upper layer package receive callback. More...
 
Mac48Address m_satelliteAddress
 SAT address, used in case of network regeneration. More...
 
SatBaseEncapsulator::SendCtrlCallback m_sendCtrlCallback
 Callback to send control messages. More...
 

Detailed Description

SatGeoFeederLlc holds the GEO feeder implementation of LLC layer.

SatGeoFeederLlc is inherited from SatGeoLlc base class and implements the needed changes from the base class related to SAT feeder LLC packet transmissions and receptions.

Definition at line 35 of file satellite-geo-feeder-llc.h.

Constructor & Destructor Documentation

◆ SatGeoFeederLlc() [1/2]

ns3::SatGeoFeederLlc::SatGeoFeederLlc ( )

Construct a SatGeoFeederLlc, should not be used.

Definition at line 42 of file satellite-geo-feeder-llc.cc.

◆ SatGeoFeederLlc() [2/2]

ns3::SatGeoFeederLlc::SatGeoFeederLlc ( SatEnums::RegenerationMode_t  forwardLinkRegenerationMode,
SatEnums::RegenerationMode_t  returnLinkRegenerationMode 
)

Construct a SatGeoFeederLlc.

Parameters
forwardLinkRegenerationModeForward link regeneration model
returnLinkRegenerationModeReturn link regeneration model

Definition at line 49 of file satellite-geo-feeder-llc.cc.

◆ ~SatGeoFeederLlc()

ns3::SatGeoFeederLlc::~SatGeoFeederLlc ( )
virtual

Destroy a SatGeoFeederLlc.

This is the destructor for the SatGeoFeederLlc.

Definition at line 56 of file satellite-geo-feeder-llc.cc.

Member Function Documentation

◆ CreateDecap()

void ns3::SatGeoFeederLlc::CreateDecap ( Ptr< EncapKey key)
protectedvirtual

Virtual method to create a new decapsulator 'on-a-need-basis' dynamically.

Parameters
keyEncapsulator key class

Reimplemented from ns3::SatGeoLlc.

Definition at line 123 of file satellite-geo-feeder-llc.cc.

References ns3::SatLlc::m_additionalHeaderSize, ns3::SatLlc::m_decaps, ns3::SatLlc::m_forwardLinkRegenerationMode, ns3::SatLlc::m_fwdLinkArqEnabled, ns3::SatLlc::ReceiveHigherLayerPdu(), and ns3::SatEnums::REGENERATION_NETWORK.

+ Here is the call graph for this function:

◆ CreateEncap()

void ns3::SatGeoFeederLlc::CreateEncap ( Ptr< EncapKey key)
protectedvirtual

Method to create a new encapsulator 'on-a-need-basis' dynamically.

Parameters
keyEncapsulator key class

Reimplemented from ns3::SatGeoLlc.

Definition at line 68 of file satellite-geo-feeder-llc.cc.

References ns3::SatLlc::m_additionalHeaderSize, ns3::SatLlc::m_encaps, ns3::SatLlc::m_returnLinkRegenerationMode, ns3::SatLlc::m_rtnLinkArqEnabled, and ns3::SatEnums::REGENERATION_NETWORK.

◆ DoDispose()

void ns3::SatGeoFeederLlc::DoDispose ( void  )
protectedvirtual

Dispose of this class instance.

Reimplemented from ns3::SatGeoLlc.

Definition at line 62 of file satellite-geo-feeder-llc.cc.

◆ GetTypeId()

TypeId ns3::SatGeoFeederLlc::GetTypeId ( void  )
static

Derived from Object.

Definition at line 36 of file satellite-geo-feeder-llc.cc.


The documentation for this class was generated from the following files: