21 #ifndef MSDU_AGGREGATOR_H 22 #define MSDU_AGGREGATOR_H 24 #include "ns3/object.h" 25 #include "ns3/nstime.h" 32 class AmsduSubframeHeader;
35 class WifiMacQueueItem;
Simulation virtual time values and global simulation resolution.
Smart pointer class similar to boost::intrusive_ptr.
uint16_t GetMaxAmsduSize(Mac48Address recipient, uint8_t tid, WifiModulationClass modulation) const
Determine the maximum size for an A-MSDU of the given TID that can be sent to the given receiver when...
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
static Time Min()
Minimum representable Time Not to be confused with Min(Time,Time).
static DeaggregatedMsdus Deaggregate(Ptr< Packet > aggregatedPacket)
EdcaQueues m_edca
the map of EDCA queues
std::list< std::pair< Ptr< const Packet >, AmsduSubframeHeader > >::const_iterator DeaggregatedMsdusCI
DeaggregatedMsdusCI typedef.
void SetEdcaQueues(EdcaQueues map)
Set the map of EDCA queues.
std::list< std::pair< Ptr< const Packet >, AmsduSubframeHeader > > DeaggregatedMsdus
DeaggregatedMsdus typedef.
static TypeId GetTypeId(void)
Get the type ID.
static uint16_t GetSizeIfAggregated(uint16_t msduSize, uint16_t amsduSize)
Compute the size of the A-MSDU resulting from the aggregation of an MSDU of size msduSize and an A-MS...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual ~MsduAggregator()
WifiModulationClass
This enumeration defines the modulation classes per (Table 9-4 "Modulation classes"; IEEE 802...
static uint8_t CalculatePadding(uint16_t amsduSize)
Calculate how much padding must be added to the end of an A-MSDU of the given size if a new MSDU is a...
Aggregator used to construct A-MSDUs.
A base class which provides memory management and object aggregation.
Ptr< WifiMacQueueItem > GetNextAmsdu(Mac48Address recipient, uint8_t tid, WifiTxVector txVector, uint32_t ampduSize=0, Time ppduDurationLimit=Time::Min()) const
Dequeue MSDUs to be transmitted to a given station and belonging to a given TID from the correspondin...
a unique identifier for an interface.
std::map< AcIndex, Ptr< QosTxop > > EdcaQueues
EDCA queues typedef.