ns3::DcaTxop Class Reference

handle packet fragmentation and retransmissions. More...

#include <dca-txop.h>

Inheritance diagram for ns3::DcaTxop:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

void SetTxOkCallback (TxOk callback)
void SetTxFailedCallback (TxFailed callback)
void Queue (Ptr< const Packet > packet, const WifiMacHeader &hdr)

Static Public Member Functions

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

Private Member Functions

virtual void DoDispose (void)


Detailed Description

handle packet fragmentation and retransmissions.

This class implements the packet fragmentation and retransmission policy. It uses the ns3::MacLow and ns3::DcfManager helper classes to respectively send packets and decide when to send them. Packets are stored in a ns3::WifiMacQueue until they can be sent.

The policy currently implemented uses a simple fragmentation threshold: any packet bigger than this threshold is fragmented in fragments whose size is smaller than the threshold.

The retransmission policy is also very simple: every packet is retransmitted until it is either successfully transmitted or it has been retransmitted up until the ssrc or slrc thresholds.

The rts/cts policy is similar to the fragmentation policy: when a packet is bigger than a threshold, the rts/cts protocol is used.


Member Function Documentation

virtual void ns3::DcaTxop::DoDispose ( void   )  [private, virtual]

This method is called by Object::Dispose or by the object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.

Reimplemented from ns3::Object.

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

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

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/Mac/$ns3::AdhocWifiMac/DcaTxop
  • /NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/Mac/$ns3::NqapWifiMac/DcaTxop
  • /NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/Mac/$ns3::NqstaWifiMac/DcaTxop
Attributes defined for this type:
  • MinCw: The minimum value of the contention window.
  • MaxCw: The maximum value of the contention window.
  • Aifsn: The AIFSN: the default value conforms to simple DCA.
No TraceSources defined for this type.

Reimplemented from ns3::Object.

void ns3::DcaTxop::Queue ( Ptr< const Packet packet,
const WifiMacHeader &  hdr 
)

Parameters:
packet packet to send
hdr header of packet to send.
Store the packet in the internal queue until it can be sent safely.

void ns3::DcaTxop::SetTxFailedCallback ( TxFailed  callback  ) 

Parameters:
callback the callback to invoke when a packet transmission was completed unsuccessfully.

void ns3::DcaTxop::SetTxOkCallback ( TxOk  callback  ) 

Parameters:
callback the callback to invoke when a packet transmission was completed successfully.


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