ns-3
ns3::EdcaTxopN Class Reference

#include <edca-txop-n.h>

Inheritance diagram for ns3::EdcaTxopN:
Collaboration diagram for ns3::EdcaTxopN:

List of all members.

Public Types

typedef Callback< void, const
WifiMacHeader & > 
TxOk
typedef Callback< void, const
WifiMacHeader & > 
TxFailed

Public Member Functions

void DoDispose ()
void SetLow (Ptr< MacLow > low)
void SetTxMiddle (MacTxMiddle *txMiddle)
void SetManager (DcfManager *manager)
void SetTxOkCallback (TxOk callback)
void SetTxFailedCallback (TxFailed callback)
void SetWifiRemoteStationManager (Ptr< WifiRemoteStationManager > remoteManager)
void SetTypeOfStation (enum TypeOfStation type)
enum TypeOfStation GetTypeOfStation (void) const
Ptr< WifiMacQueueGetQueue () const
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
Ptr< MacLowLow (void)
Ptr< MsduAggregatorGetMsduAggregator (void) const
bool NeedsAccess (void) const
void NotifyAccessGranted (void)
void NotifyInternalCollision (void)
void NotifyCollision (void)
void NotifyChannelSwitching (void)
void GotCts (double snr, WifiMode txMode)
void MissedCts (void)
void GotAck (double snr, WifiMode txMode)
void GotBlockAck (const CtrlBAckResponseHeader *blockAck, Mac48Address recipient)
void MissedBlockAck (void)
void GotAddBaResponse (const MgtAddBaResponseHeader *respHdr, Mac48Address recipient)
void GotDelBaFrame (const MgtDelBaHeader *delBaHdr, Mac48Address recipient)
void MissedAck (void)
void StartNext (void)
void Cancel (void)
void RestartAccessIfNeeded (void)
void StartAccessIfNeeded (void)
bool NeedRts (void)
bool NeedRtsRetransmission (void)
bool NeedDataRetransmission (void)
bool NeedFragmentation (void) const
uint32_t GetNextFragmentSize (void)
uint32_t GetFragmentSize (void)
uint32_t GetFragmentOffset (void)
bool IsLastFragment (void) const
void NextFragment (void)
Ptr< PacketGetFragmentPacket (WifiMacHeader *hdr)
void SetAccessCategory (enum AcIndex ac)
void Queue (Ptr< const Packet > packet, const WifiMacHeader &hdr)
void SetMsduAggregator (Ptr< MsduAggregator > aggr)
void PushFront (Ptr< const Packet > packet, const WifiMacHeader &hdr)
void CompleteConfig (void)
void SetBlockAckThreshold (uint8_t threshold)
uint8_t GetBlockAckThreshold (void) const
void SetBlockAckInactivityTimeout (uint16_t timeout)
void SendDelbaFrame (Mac48Address addr, uint8_t tid, bool byOriginator)

Static Public Member Functions

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

Friends

class Dcf
class TransmissionListener

Detailed Description

This queue contains packets for a particular access class. possibles access classes are:

-AC_VO : voice, tid = 6,7 ^ -AC_VI : video, tid = 4,5 | -AC_BE : best-effort, tid = 0,3 | priority -AC_BK : background, tid = 1,2 |

For more details see section 9.1.3.1 in 802.11 standard.


Member Function Documentation

void ns3::EdcaTxopN::DoDispose ( void  ) [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.

It is safe to call GetObject from within this method.

Reimplemented from ns3::Object.

References NS_LOG_FUNCTION.

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

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

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

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::Dcf/$ns3::EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::RegularWifiMac/BE_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::RegularWifiMac/BK_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::RegularWifiMac/VI_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::RegularWifiMac/VO_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiMac/$ns3::RegularWifiMac/BE_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiMac/$ns3::RegularWifiMac/BK_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiMac/$ns3::RegularWifiMac/VI_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiMac/$ns3::RegularWifiMac/VO_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiNetDevice/Mac/$ns3::RegularWifiMac/BE_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiNetDevice/Mac/$ns3::RegularWifiMac/BK_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiNetDevice/Mac/$ns3::RegularWifiMac/VI_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiNetDevice/Mac/$ns3::RegularWifiMac/VO_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::Dcf/$ns3::EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::RegularWifiMac/BE_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::RegularWifiMac/BK_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::RegularWifiMac/VI_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::RegularWifiMac/VO_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiMac/$ns3::RegularWifiMac/BE_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiMac/$ns3::RegularWifiMac/BK_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiMac/$ns3::RegularWifiMac/VI_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiMac/$ns3::RegularWifiMac/VO_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiNetDevice/Mac/$ns3::RegularWifiMac/BE_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiNetDevice/Mac/$ns3::RegularWifiMac/BK_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiNetDevice/Mac/$ns3::RegularWifiMac/VI_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiNetDevice/Mac/$ns3::RegularWifiMac/VO_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/Mac/$ns3::RegularWifiMac/BE_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/Mac/$ns3::RegularWifiMac/BK_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/Mac/$ns3::RegularWifiMac/VI_EdcaTxopN
  • /NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/Mac/$ns3::RegularWifiMac/VO_EdcaTxopN

Attributes defined for this type:

  • BlockAckThreshold: If number of packets in this queue reaches this value, block ack mechanism is used. If this value is 0, block ack is never used.
  • BlockAckInactivityTimeout: Represents max time (blocks of 1024 micro seconds) allowed for block ack inactivity. If this value isn't equal to 0 a timer start after that a block ack setup is completed and will be reset every time that a block ack frame is received. If this value is 0, block ack inactivity timeout won't be used.
  • Queue: The WifiMacQueue object

Attributes defined in parent class ns3::Dcf:

  • 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::Dcf.

References ns3::TypeId::AddConstructor(), ns3::Dcf::GetTypeId(), and ns3::TypeId::SetParent().

When a channel switching occurs, enqueued packets are removed.


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