24 #ifndef WIFI_MAC_QUEUE_H
25 #define WIFI_MAC_QUEUE_H
28 #include "ns3/queue.h"
29 #include <unordered_map>
35 class QosBlockedDestinations;
67 static TypeId GetTypeId (
void);
96 void SetMaxDelay (
Time delay);
102 Time GetMaxDelay (
void)
const;
245 template <
class CALLABLE>
267 uint32_t GetNPacketsByTidAndAddress (uint8_t tid,
Mac48Address dest);
280 uint32_t GetNPackets (uint8_t tid,
Mac48Address dest)
const;
292 uint32_t GetNBytes (uint8_t tid,
Mac48Address dest)
const;
306 uint32_t GetNPackets (
void);
313 uint32_t GetNBytes (
void);
335 inline bool TtlExceeded (ConstIterator &it,
const Time& now);
381 std::unordered_map<WifiAddressTidPair, uint32_t, WifiAddressTidHash>
m_nQueuedBytes;
398 template <
class CALLABLE>
406 auto pos = std::next (item->m_queueIt);
410 bool ret =
Insert (pos, mpdu);
Smart pointer class similar to boost::intrusive_ptr.
Introspection did not find any typical Config paths.
Template class for packet Queues.
std::list< Ptr< Item > >::iterator Iterator
Iterator.
std::list< Ptr< Item > >::const_iterator ConstIterator
Const iterator.
Simulation virtual time values and global simulation resolution.
Forward calls to a chain of Callback.
a unique identifier for an interface.
This queue implements the timeout procedure described in (Section 9.19.2.6 "Retransmit procedures" pa...
Time m_maxDelay
Time to live for packets in the queue.
std::unordered_map< WifiAddressTidPair, uint32_t, WifiAddressTidHash > m_nQueuedBytes
Per (MAC address, TID) pair queued bytes.
Ptr< WifiMacQueueItem > DoDequeue(ConstIterator pos)
Wrapper for the DoDequeue method provided by the base class that additionally resets the iterator fie...
NS_LOG_TEMPLATE_DECLARE
redefinition of the log component
void Transform(Ptr< const WifiMacQueueItem > item, CALLABLE func)
Transform the given item by invoking the given function with the given item as parameter.
std::unordered_map< WifiAddressTidPair, uint32_t, WifiAddressTidHash > m_nQueuedPackets
Per (MAC address, TID) pair queued packets.
bool Insert(ConstIterator pos, Ptr< WifiMacQueueItem > item)
Enqueue the given Wifi MAC queue item before the given position.
TracedCallback< Ptr< const WifiMacQueueItem > > m_traceExpired
Traced callback: fired when a packet is dropped due to lifetime expiration.
AcIndex m_ac
the access category
DropPolicy m_dropPolicy
Drop behavior of queue.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
#define NS_ABORT_IF(cond)
Abnormal program termination if a condition is true.
AcIndex
This enumeration defines the Access Categories as an enumeration with values corresponding to the AC ...
@ AC_UNDEF
Total number of ACs.
Every class exported by the ns3 library is enclosed in the ns3 namespace.