ns3::WifiMacQueue Class Reference

a 802.11e-specific queue. More...

#include <wifi-mac-queue.h>

Inheritance diagram for ns3::WifiMacQueue:

Inheritance graph
[legend]
Collaboration diagram for ns3::WifiMacQueue:

Collaboration graph
[legend]

List of all members.

Public Member Functions

Ptr< const PacketDequeueByTidAndAddress (WifiMacHeader *hdr, uint8_t tid, WifiMacHeader::AddressType type, Mac48Address addr)
Ptr< const PacketPeekByTidAndAddress (WifiMacHeader *hdr, uint8_t tid, WifiMacHeader::AddressType type, Mac48Address addr)
bool Remove (Ptr< const Packet > packet)

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::WifiMacQueue.


Detailed Description

a 802.11e-specific queue.

This queue implements what is needed for the 802.11e standard Specifically, it refers to 802.11e/D9, section 9.9.1.6, paragraph 6.

When a packet is received by the MAC, to be sent to the PHY, it is queued in the internal queue after being tagged by the current time.

When a packet is dequeued, the queue checks its timestamp to verify whether or not it should be dropped. If dot11EDCATableMSDULifetime has elapsed, it is dropped. Otherwise, it is returned to the caller.


Member Function Documentation

Ptr<const Packet> ns3::WifiMacQueue::DequeueByTidAndAddress ( WifiMacHeader *  hdr,
uint8_t  tid,
WifiMacHeader::AddressType  type,
Mac48Address  addr 
)

Searchs and returns, if is present in this queue, first packet having address indicated by type equals to addr, and tid equals to tid. This method removes the packet from this queue. Is typically used by ns3::EdcaTxopN in order to perform correct MSDU aggregation (A-MSDU).

static TypeId ns3::WifiMacQueue::GetTypeId ( void   )  [static]

This method returns the TypeId associated to ns3::WifiMacQueue.

Attributes defined for this type:

  • MaxPacketNumber: If a packet arrives when there are already this number of packets, it is dropped.
  • MaxDelay: If a packet stays longer than this delay in the queue, it is dropped.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 10000000000ns
    • Flags: construct write read
No TraceSources defined for this type.

Reimplemented from ns3::Object.

Ptr<const Packet> ns3::WifiMacQueue::PeekByTidAndAddress ( WifiMacHeader *  hdr,
uint8_t  tid,
WifiMacHeader::AddressType  type,
Mac48Address  addr 
)

Searchs and returns, if is present in this queue, first packet having address indicated by type equals to addr, and tid equals to tid. This method doesn't remove the packet from this queue. Is typically used by ns3::EdcaTxopN in order to perform correct MSDU aggregation (A-MSDU).

bool ns3::WifiMacQueue::Remove ( Ptr< const Packet packet  ) 

If exists, removes packet from queue and returns true. Otherwise it takes no effects and return false. Deletion of the packet is performed in linear time (O(n)).


The documentation for this class was generated from the following files:

Generated on Fri Apr 9 15:01:09 2010 for NS-3 by  doxygen 1.5.8