24 #ifndef WIFI_MAC_QUEUE_H
25 #define WIFI_MAC_QUEUE_H
28 #include "ns3/queue.h"
29 #include <unordered_map>
34 class QosBlockedDestinations;
66 static TypeId GetTypeId (
void);
88 void SetMaxDelay (
Time delay);
94 Time GetMaxDelay (
void)
const;
198 ConstIterator PeekByAddress (
Mac48Address dest, ConstIterator pos = EMPTY)
const;
210 ConstIterator PeekByTid (uint8_t tid, ConstIterator pos = EMPTY)
const;
225 ConstIterator PeekByTidAndAddress (uint8_t tid,
Mac48Address dest, ConstIterator pos = EMPTY)
const;
235 ConstIterator pos = EMPTY)
const;
262 ConstIterator Remove (ConstIterator pos,
bool removeExpired =
false);
282 uint32_t GetNPacketsByTidAndAddress (uint8_t tid,
Mac48Address dest);
295 uint32_t GetNPackets (uint8_t tid,
Mac48Address dest)
const;
307 uint32_t GetNBytes (uint8_t tid,
Mac48Address dest)
const;
321 uint32_t GetNPackets (
void);
328 uint32_t GetNBytes (
void);
342 bool TtlExceeded (ConstIterator &it);
379 std::unordered_map<WifiAddressTidPair, uint32_t, WifiAddressTidHash>
m_nQueuedBytes;
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.
NS_LOG_TEMPLATE_DECLARE
redefinition of the log component
std::unordered_map< WifiAddressTidPair, uint32_t, WifiAddressTidHash > m_nQueuedPackets
Per (MAC address, TID) pair queued packets.
static const ConstIterator EMPTY
Invalid iterator to signal an empty queue.
Ptr< WifiMacQueueItem > Dequeue(WifiMacQueue::ConstIterator pos)
Dequeue the item at position pos in the queue.
bool m_expiredPacketsPresent
True if expired packets are in the queue.
TracedCallback< Ptr< const WifiMacQueueItem > > m_traceExpired
Traced callback: fired when a packet is dropped due to lifetime expiration.
DropPolicy m_dropPolicy
Drop behavior of queue.
Every class exported by the ns3 library is enclosed in the ns3 namespace.