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.

Classes

struct  Item

Public Member Functions

 WifiMacQueue ()
 ~WifiMacQueue ()
void SetMaxSize (uint32_t maxSize)
void SetMaxDelay (Time delay)
uint32_t GetMaxSize (void) const
Time GetMaxDelay (void) const
void Enqueue (Ptr< const Packet > packet, WifiMacHeader const &hdr)
Ptr< const PacketDequeue (WifiMacHeader *hdr)
void Flush (void)
bool IsEmpty (void)
uint32_t GetSize (void)

Static Public Member Functions

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

Private Types

typedef std::deque< struct ItemPacketQueue
typedef std::deque< struct
Item >::reverse_iterator 
PacketQueueRI
typedef std::deque< struct
Item >::iterator 
PacketQueueI

Private Member Functions

void Cleanup (void)

Private Attributes

PacketQueue m_queue
WifiMacParameters * m_parameters
uint32_t m_size
uint32_t m_maxSize
Time m_maxDelay

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.

Definition at line 49 of file wifi-mac-queue.h.


Member Typedef Documentation

typedef std::deque<struct Item> ns3::WifiMacQueue::PacketQueue [private]

Definition at line 79 of file wifi-mac-queue.h.

typedef std::deque<struct Item>::iterator ns3::WifiMacQueue::PacketQueueI [private]

Definition at line 81 of file wifi-mac-queue.h.

typedef std::deque<struct Item>::reverse_iterator ns3::WifiMacQueue::PacketQueueRI [private]

Definition at line 80 of file wifi-mac-queue.h.


Constructor & Destructor Documentation

ns3::WifiMacQueue::WifiMacQueue (  ) 

Definition at line 55 of file wifi-mac-queue.cc.

ns3::WifiMacQueue::~WifiMacQueue (  ) 

Definition at line 59 of file wifi-mac-queue.cc.

References Flush().


Member Function Documentation

void ns3::WifiMacQueue::Cleanup ( void   )  [private]

Definition at line 98 of file wifi-mac-queue.cc.

References m_maxDelay, m_queue, m_size, and ns3::Now().

Referenced by Dequeue(), Enqueue(), and IsEmpty().

Ptr< const Packet > ns3::WifiMacQueue::Dequeue ( WifiMacHeader hdr  ) 
void ns3::WifiMacQueue::Enqueue ( Ptr< const Packet packet,
WifiMacHeader const &  hdr 
)

Definition at line 86 of file wifi-mac-queue.cc.

References Cleanup(), m_maxSize, m_queue, m_size, and ns3::Now().

void ns3::WifiMacQueue::Flush ( void   ) 

Definition at line 152 of file wifi-mac-queue.cc.

References m_queue, and m_size.

Referenced by ~WifiMacQueue().

Time ns3::WifiMacQueue::GetMaxDelay ( void   )  const

Definition at line 80 of file wifi-mac-queue.cc.

References m_maxDelay.

uint32_t ns3::WifiMacQueue::GetMaxSize ( void   )  const

Definition at line 75 of file wifi-mac-queue.cc.

References m_maxSize.

uint32_t ns3::WifiMacQueue::GetSize ( void   ) 

Definition at line 146 of file wifi-mac-queue.cc.

References m_size.

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

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

No Attributes defined for this type.
No TraceSources defined for this type.

Reimplemented from ns3::Object.

Definition at line 38 of file wifi-mac-queue.cc.

References ns3::TypeId::AddAttribute(), m_maxDelay, m_maxSize, ns3::Seconds(), and ns3::TypeId::SetParent().

bool ns3::WifiMacQueue::IsEmpty ( void   ) 

Definition at line 138 of file wifi-mac-queue.cc.

References Cleanup(), and m_queue.

void ns3::WifiMacQueue::SetMaxDelay ( Time  delay  ) 

Definition at line 70 of file wifi-mac-queue.cc.

References m_maxDelay.

void ns3::WifiMacQueue::SetMaxSize ( uint32_t  maxSize  ) 

Definition at line 65 of file wifi-mac-queue.cc.

References m_maxSize.


Member Data Documentation

Definition at line 86 of file wifi-mac-queue.h.

Referenced by Cleanup(), GetMaxDelay(), GetTypeId(), and SetMaxDelay().

uint32_t ns3::WifiMacQueue::m_maxSize [private]

Definition at line 85 of file wifi-mac-queue.h.

Referenced by Enqueue(), GetMaxSize(), GetTypeId(), and SetMaxSize().

WifiMacParameters* ns3::WifiMacQueue::m_parameters [private]

Definition at line 83 of file wifi-mac-queue.h.

Definition at line 82 of file wifi-mac-queue.h.

Referenced by Cleanup(), Dequeue(), Enqueue(), Flush(), and IsEmpty().

uint32_t ns3::WifiMacQueue::m_size [private]

Definition at line 84 of file wifi-mac-queue.h.

Referenced by Cleanup(), Dequeue(), Enqueue(), Flush(), and GetSize().


The documentation for this class was generated from the following files:
Generated on Thu Dec 3 14:11:24 2009 for NS-3 by  doxygen 1.6.3