ns3::MacLow Class Reference

handle RTS/CTS/DATA/ACK transactions. More...

#include <mac-low.h>

Inheritance diagram for ns3::MacLow:

Inheritance graph
Collaboration diagram for ns3::MacLow:

Collaboration graph

List of all members.

Public Member Functions

void SetRxCallback (Callback< void, Ptr< Packet >, const WifiMacHeader * > callback)
void RegisterDcfListener (MacLowDcfListener *listener)
Time CalculateTransmissionTime (Ptr< const Packet > packet, WifiMacHeader const *hdr, MacLowTransmissionParameters const &parameters) const
void StartTransmission (Ptr< const Packet > packet, WifiMacHeader const *hdr, MacLowTransmissionParameters parameters, MacLowTransmissionListener *listener)
void ReceiveOk (Ptr< Packet > packet, double rxSnr, WifiMode txMode, WifiPreamble preamble)
void ReceiveError (Ptr< const Packet > packet, double rxSnr)

Private Member Functions

virtual void DoDispose (void)

Detailed Description

handle RTS/CTS/DATA/ACK transactions.

Member Function Documentation

Time ns3::MacLow::CalculateTransmissionTime ( Ptr< const Packet packet,
WifiMacHeader const *  hdr,
MacLowTransmissionParameters const &  parameters 
) const

packet to send (does not include the 802.11 MAC header and checksum)
hdr header associated to the packet to send.
parameters transmission parameters of packet.
This transmission time includes the time required for the next packet transmission if one was selected.

virtual void ns3::MacLow::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.

void ns3::MacLow::ReceiveError ( Ptr< const Packet packet,
double  rxSnr 

packet packet received.
rxSnr snr of packet received.
This method is typically invoked by the lower PHY layer to notify the MAC layer that a packet was unsuccessfully received.

void ns3::MacLow::ReceiveOk ( Ptr< Packet packet,
double  rxSnr,
WifiMode  txMode,
WifiPreamble  preamble 

packet packet received
rxSnr snr of packet received
txMode transmission mode of packet received
preamble type of preamble used for the packet received
This method is typically invoked by the lower PHY layer to notify the MAC layer that a packet was successfully received.

void ns3::MacLow::RegisterDcfListener ( MacLowDcfListener listener  ) 

listener listen to NAV events for every incoming and outgoing packet.

void ns3::MacLow::SetRxCallback ( Callback< void, Ptr< Packet >, const WifiMacHeader * >  callback  ) 

callback the callback which receives every incoming packet.
This callback typically forwards incoming packets to an instance of ns3::MacRxMiddle.

void ns3::MacLow::StartTransmission ( Ptr< const Packet packet,
WifiMacHeader const *  hdr,
MacLowTransmissionParameters  parameters,
MacLowTransmissionListener listener 

packet packet to send
hdr 802.11 header for packet to send
parameters the transmission parameters to use for this packet.
listener listen to transmission events.
Start the transmission of the input packet and notify the listener of transmission events.

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

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