21 #ifndef SATELLITE_BBFRAME_CONTAINER_H 
   22 #define SATELLITE_BBFRAME_CONTAINER_H 
   27 #include <ns3/simple-ref-count.h> 
   69     SatBbFrameContainer(std::vector<SatEnums::SatModcod_t>& modcodsInUse, Ptr<SatBbFrameConf> conf);
 
BB Frame container class.
 
virtual ~SatBbFrameContainer()
Destructor.
 
Ptr< SatBbFrameConf > m_bbFrameConf
 
static TypeId GetTypeId(void)
Get the type ID.
 
uint32_t GetMaxFramePayloadInBytes(uint32_t priorityClass, SatEnums::SatModcod_t modcod)
Get maximum payload bytes of a frame with the given priority class and MODCOD.
 
uint32_t GetBytesLeftInTailFrame(uint32_t priorityClass, SatEnums::SatModcod_t modcod)
Get bytes left in last frame of the queue with the given priority class and MODCOD.
 
void SetMaxSymbolRate(uint32_t maxSymbolRate)
Set the maximum symbol rate of this container, used for time-slicing.
 
uint32_t GetMaxSymbolRate()
Set the maximum symbol rate of this container, used for time-slicing.
 
Time GetTotalDuration() const
Get total transmission duration of the frames in container.
 
void MergeBbFrames(double carrierBandwidthInHz)
 
FrameContainer_t m_container
 
Ptr< SatBbFrame > GetNextFrame()
Get next frame from container to transmit.
 
TracedCallback< Ptr< SatBbFrame >, Ptr< SatBbFrame > > m_bbFrameMergeTrace
Trace for merged BB frames.
 
uint32_t GetFrameSymbols(SatEnums::SatModcod_t modcod)
Get the total number of symbols, incuding headers, when creating a new BBFrame.
 
bool IsEmpty(uint32_t priorityClass, SatEnums::SatModcod_t modcod)
Indicates if the container for a ModCod and priority is empty (no BBFrame).
 
std::map< SatEnums::SatModcod_t, std::deque< Ptr< SatBbFrame > > > FrameContainer_t
 
std::deque< Ptr< SatBbFrame > > m_ctrlContainer
 
void CreateFrameToTail(uint32_t priorityClass, SatEnums::SatModcod_t modcod)
Create short or normal frame according to MODCOD and member #m_bbFrameUsageMode.
 
void AddData(uint32_t priorityClass, SatEnums::SatModcod_t modcod, Ptr< Packet > data)
Add data according to given priority class and MODCOD to container.
 
SatEnums::SatBbFrameType_t m_defaultBbFrameType
 
void ClearAllFrames()
Remove all frames in containers.
 
SatBbFrameContainer()
Default constructor for SatBbFrameContainer not supported.
 
SatEnums::SatModcod_t GetModcod(uint32_t priorityClass, double cno)
Get maximum MODCOD with the given priority class and C/N0.
 
SatBbFrameType_t
BB frame type used in DVB-S2 FWD link.
 
SatModcod_t
Modulation scheme and coding rate for DVB-S2.
 
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.