handle packet fragmentation and retransmissions. More...
#include <dca-txop.h>
Public Types | |
typedef Callback< void, const WifiMacHeader & > | TxOk |
typedef Callback< void, const WifiMacHeader & > | TxFailed |
Public Member Functions | |
void | SetLow (Ptr< MacLow > low) |
void | SetManager (DcfManager *manager) |
void | SetWifiRemoteStationManager (Ptr< WifiRemoteStationManager > remoteManager) |
void | SetTxOkCallback (TxOk callback) |
void | SetTxFailedCallback (TxFailed callback) |
void | SetMaxQueueSize (uint32_t size) |
void | SetMaxQueueDelay (Time delay) |
virtual void | SetMinCw (uint32_t minCw) |
virtual void | SetMaxCw (uint32_t maxCw) |
virtual void | SetAifsn (uint32_t aifsn) |
virtual uint32_t | GetMinCw (void) const |
virtual uint32_t | GetMaxCw (void) const |
virtual uint32_t | GetAifsn (void) const |
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. | |
Friends | |
class | Dcf |
class | TransmissionListener |
class | WifiRemoteStation |
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.
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:
No Attributes defined for this type.
No TraceSources defined for this type.
Reimplemented from ns3::Dcf.
void ns3::DcaTxop::Queue | ( | Ptr< const Packet > | packet, | |
const WifiMacHeader & | hdr | |||
) |
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 | ) |
callback | the callback to invoke when a packet transmission was completed unsuccessfully. |
void ns3::DcaTxop::SetTxOkCallback | ( | TxOk | callback | ) |
callback | the callback to invoke when a packet transmission was completed successfully. |