21#ifndef SATELLITE_GW_LLC_H_
22#define SATELLITE_GW_LLC_H_
69 virtual bool Enque(Ptr<Packet> packet, Address dest, uint8_t flowId);
86 uint32_t& nextMinTxO);
SatLinkDir_t
Link direction used for packet tracing.
virtual void CreateDecap(Ptr< EncapKey > key)
Virtual method to create a new decapsulator 'on-a-need-basis' dynamically.
SatGwLlc()
Construct a SatGwLlc.
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.
virtual SatEnums::SatLinkDir_t GetSatLinkRxDir()
Get the link RX direction.
virtual ~SatGwLlc()
Destroy a SatGwLlc.
virtual bool Enque(Ptr< Packet > packet, Address dest, uint8_t flowId)
Called from higher layer (SatNetDevice) to enque packet to LLC.
static TypeId GetTypeId(void)
Get the type ID.
virtual void ClearQueues()
Remove all packets from the queues.
virtual void GetSchedulingContexts(std::vector< Ptr< SatSchedulingObject > > &output) const
Create and fill the scheduling objects based on LLC layer information.
virtual SatEnums::SatLinkDir_t GetSatLinkTxDir()
Get the link TX direction.
virtual void CreateEncap(Ptr< EncapKey > key)
Virtual method to create a new encapsulator 'on-a-need-basis' dynamically.
void DoDispose()
Dispose of this class instance.
virtual uint32_t GetNBytesInQueue() const
Get the total number of (new) bytes in all encapsulators.
SatLlc()
Construct a SatLlc.
virtual uint32_t GetNPacketsInQueue() const
Get the total number of (new) packets in all encapsulators.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.