A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::EdcaTxopN Class Reference

#include <edca-txop-n.h>

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

Classes

class  BlockAckEventListener
class  Dcf
class  TransmissionListener

Public Types

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

Public Member Functions

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

Static Public Member Functions

static TypeId GetTypeId (void)

Private Member Functions

 EdcaTxopN (const EdcaTxopN &)
void CompleteTx (void)
void DoStart ()
Mac48Address MapDestAddressForAggregation (const WifiMacHeader &hdr)
Mac48Address MapSrcAddressForAggregation (const WifiMacHeader &hdr)
EdcaTxopNoperator= (const EdcaTxopN &)
void SendAddBaRequest (Mac48Address recipient, uint8_t tid, uint16_t startSeq, uint16_t timeout, bool immediateBAck)
void SendBlockAckRequest (const struct Bar &bar)
bool SetupBlockAckIfNeeded ()
void VerifyBlockAck (void)

Private Attributes

AcIndex m_ac
Ptr< MsduAggregatorm_aggregator
BlockAckManagerm_baManager
uint16_t m_blockAckInactivityTimeout
BlockAckEventListenerm_blockAckListener
uint8_t m_blockAckThreshold
enum BlockAckType m_blockAckType
struct Bar m_currentBar
WifiMacHeader m_currentHdr
Ptr< const Packetm_currentPacket
Time m_currentPacketTimestamp
Dcfm_dcf
uint8_t m_fragmentNumber
Ptr< MacLowm_low
DcfManagerm_manager
QosBlockedDestinationsm_qosBlockedDestinations
Ptr< WifiMacQueuem_queue
RandomStreamm_rng
Ptr< WifiRemoteStationManagerm_stationManager
TransmissionListenerm_transmissionListener
TxFailed m_txFailedCallback
MacTxMiddlem_txMiddle
TxOk m_txOkCallback
TypeOfStation m_typeOfStation

Friends

class Dcf
class TransmissionListener

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
virtual void DoStart (void)
virtual void NotifyNewAggregate (void)

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.

Config Paths

ns3::EdcaTxopN is accessible through the following paths with Config::Set and Config::Connect:

  • /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

  • 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 are defined for this type.

Definition at line 77 of file edca-txop-n.h.

Member Typedef Documentation

Definition at line 81 of file edca-txop-n.h.

Definition at line 80 of file edca-txop-n.h.

Constructor & Destructor Documentation

ns3::EdcaTxopN::~EdcaTxopN ( )
virtual

Definition at line 191 of file edca-txop-n.cc.

References NS_LOG_FUNCTION.

ns3::EdcaTxopN::EdcaTxopN ( const EdcaTxopN )
private

Member Function Documentation

int64_t ns3::EdcaTxopN::AssignStreams ( int64_t  stream)

Assign a fixed random variable stream number to the random variables used by this model. Return the number of streams (possibly zero) that have been assigned.

Parameters
streamfirst stream index to use
Returns
the number of stream indices assigned by this model

Definition at line 1120 of file edca-txop-n.cc.

References ns3::RandomStream::AssignStreams(), m_rng, and NS_LOG_FUNCTION.

Referenced by ns3::WifiHelper::AssignStreams().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::EdcaTxopN::Cancel ( void  )

Definition at line 727 of file edca-txop-n.cc.

References NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by ns3::EdcaTxopN::TransmissionListener::Cancel().

+ Here is the caller graph for this function:

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.

Definition at line 197 of file edca-txop-n.cc.

References m_aggregator, m_baManager, m_blockAckListener, m_dcf, m_low, m_qosBlockedDestinations, m_queue, m_rng, m_stationManager, m_transmissionListener, m_txMiddle, and NS_LOG_FUNCTION.

void ns3::EdcaTxopN::DoStart ( void  )
private

Definition at line 1128 of file edca-txop-n.cc.

References ns3::DcfState::GetCw(), ns3::RandomStream::GetNext(), m_dcf, m_rng, ns3::DcfState::ResetCw(), and ns3::DcfState::StartBackoffNow().

+ Here is the call graph for this function:

void ns3::EdcaTxopN::EndTxNoAck ( void  )

Definition at line 734 of file edca-txop-n.cc.

References ns3::DcfState::GetCw(), ns3::RandomStream::GetNext(), m_currentPacket, m_dcf, m_rng, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::DcfState::ResetCw(), StartAccessIfNeeded(), and ns3::DcfState::StartBackoffNow().

Referenced by ns3::EdcaTxopN::TransmissionListener::EndTxNoAck().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint32_t ns3::EdcaTxopN::GetAifsn ( void  ) const
virtual

Implements ns3::Dcf.

Definition at line 299 of file edca-txop-n.cc.

References ns3::DcfState::GetAifsn(), and m_dcf.

+ Here is the call graph for this function:

uint8_t ns3::EdcaTxopN::GetBlockAckThreshold ( void  ) const

Definition at line 1017 of file edca-txop-n.cc.

References m_blockAckThreshold.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

uint32_t ns3::EdcaTxopN::GetFragmentOffset ( void  )

Definition at line 766 of file edca-txop-n.cc.

References ns3::WifiMacHeader::GetAddr1(), ns3::WifiRemoteStationManager::GetFragmentOffset(), m_currentHdr, m_currentPacket, m_fragmentNumber, and m_stationManager.

Referenced by GetFragmentPacket().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Ptr< Packet > ns3::EdcaTxopN::GetFragmentPacket ( WifiMacHeader hdr)
uint32_t ns3::EdcaTxopN::GetFragmentSize ( void  )

Definition at line 752 of file edca-txop-n.cc.

References ns3::WifiMacHeader::GetAddr1(), ns3::WifiRemoteStationManager::GetFragmentSize(), m_currentHdr, m_currentPacket, m_fragmentNumber, and m_stationManager.

Referenced by GetFragmentPacket().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint32_t ns3::EdcaTxopN::GetMaxCw ( void  ) const
virtual

Implements ns3::Dcf.

Definition at line 293 of file edca-txop-n.cc.

References ns3::DcfState::GetCwMax(), and m_dcf.

+ Here is the call graph for this function:

uint32_t ns3::EdcaTxopN::GetMinCw ( void  ) const
virtual

Implements ns3::Dcf.

Definition at line 287 of file edca-txop-n.cc.

References ns3::DcfState::GetCwMin(), and m_dcf.

+ Here is the call graph for this function:

Ptr< MsduAggregator > ns3::EdcaTxopN::GetMsduAggregator ( void  ) const

Definition at line 646 of file edca-txop-n.cc.

References m_aggregator.

uint32_t ns3::EdcaTxopN::GetNextFragmentSize ( void  )

Definition at line 759 of file edca-txop-n.cc.

References ns3::WifiMacHeader::GetAddr1(), ns3::WifiRemoteStationManager::GetFragmentSize(), m_currentHdr, m_currentPacket, m_fragmentNumber, and m_stationManager.

Referenced by NotifyAccessGranted(), and StartNext().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Ptr< WifiMacQueue > ns3::EdcaTxopN::GetQueue ( void  ) const

Definition at line 259 of file edca-txop-n.cc.

References m_queue, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

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

Reimplemented from ns3::Dcf.

Definition at line 144 of file edca-txop-n.cc.

References ns3::TypeId::AddConstructor(), GetBlockAckThreshold(), GetQueue(), ns3::Dcf::GetTypeId(), SetBlockAckInactivityTimeout(), SetBlockAckThreshold(), and ns3::TypeId::SetParent().

+ Here is the call graph for this function:

enum TypeOfStation ns3::EdcaTxopN::GetTypeOfStation ( void  ) const

Definition at line 253 of file edca-txop-n.cc.

References m_typeOfStation.

void ns3::EdcaTxopN::GotBlockAck ( const CtrlBAckResponseHeader blockAck,
Mac48Address  recipient 
)
void ns3::EdcaTxopN::GotCts ( double  snr,
WifiMode  txMode 
)

Definition at line 508 of file edca-txop-n.cc.

References NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by ns3::EdcaTxopN::TransmissionListener::GotCts().

+ Here is the caller graph for this function:

void ns3::EdcaTxopN::GotDelBaFrame ( const MgtDelBaHeader delBaHdr,
Mac48Address  recipient 
)

Definition at line 877 of file edca-txop-n.cc.

References ns3::MgtDelBaHeader::GetTid(), m_baManager, NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::BlockAckManager::TearDownBlockAck().

+ Here is the call graph for this function:

bool ns3::EdcaTxopN::IsLastFragment ( void  ) const

Definition at line 774 of file edca-txop-n.cc.

References ns3::WifiMacHeader::GetAddr1(), ns3::WifiRemoteStationManager::IsLastFragment(), m_currentHdr, m_currentPacket, m_fragmentNumber, and m_stationManager.

Referenced by GetFragmentPacket(), GotAck(), NotifyAccessGranted(), and StartNext().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Ptr< MacLow > ns3::EdcaTxopN::Low ( void  )

Definition at line 311 of file edca-txop-n.cc.

References m_low.

Referenced by StartNext().

+ Here is the caller graph for this function:

Mac48Address ns3::EdcaTxopN::MapDestAddressForAggregation ( const WifiMacHeader hdr)
private

Definition at line 822 of file edca-txop-n.cc.

References ns3::ADHOC_STA, ns3::AP, ns3::WifiMacHeader::GetAddr1(), ns3::WifiMacHeader::GetAddr3(), and m_typeOfStation.

Referenced by NotifyAccessGranted().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Mac48Address ns3::EdcaTxopN::MapSrcAddressForAggregation ( const WifiMacHeader hdr)
private

This functions are used only to correctly set addresses in a-msdu subframe. If aggregating sta is a STA (in an infrastructured network): SA = Address2 DA = Address3 If aggregating sta is an AP SA = Address3 DA = Address1

Definition at line 807 of file edca-txop-n.cc.

References ns3::ADHOC_STA, ns3::WifiMacHeader::GetAddr2(), ns3::WifiMacHeader::GetAddr3(), m_typeOfStation, and ns3::STA.

Referenced by NotifyAccessGranted().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::EdcaTxopN::MissedBlockAck ( void  )
bool ns3::EdcaTxopN::NeedDataRetransmission ( void  )

Definition at line 690 of file edca-txop-n.cc.

References ns3::WifiMacHeader::GetAddr1(), m_currentHdr, m_currentPacket, m_stationManager, and ns3::WifiRemoteStationManager::NeedDataRetransmission().

Referenced by MissedAck().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ns3::EdcaTxopN::NeedFragmentation ( void  ) const

Definition at line 745 of file edca-txop-n.cc.

References ns3::WifiMacHeader::GetAddr1(), m_currentHdr, m_currentPacket, m_stationManager, and ns3::WifiRemoteStationManager::NeedFragmentation().

Referenced by GotAck(), and NotifyAccessGranted().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ns3::EdcaTxopN::NeedRts ( void  )

Definition at line 676 of file edca-txop-n.cc.

References ns3::WifiMacHeader::GetAddr1(), m_currentHdr, m_currentPacket, m_stationManager, and ns3::WifiRemoteStationManager::NeedRts().

Referenced by NotifyAccessGranted().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ns3::EdcaTxopN::NeedRtsRetransmission ( void  )

Definition at line 683 of file edca-txop-n.cc.

References ns3::WifiMacHeader::GetAddr1(), m_currentHdr, m_currentPacket, m_stationManager, and ns3::WifiRemoteStationManager::NeedRtsRetransmission().

Referenced by MissedCts().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ns3::EdcaTxopN::NeedsAccess ( void  ) const

Definition at line 324 of file edca-txop-n.cc.

References ns3::BlockAckManager::HasPackets(), ns3::WifiMacQueue::IsEmpty(), m_baManager, m_currentPacket, and m_queue.

+ Here is the call graph for this function:

void ns3::EdcaTxopN::NextFragment ( void  )

Definition at line 697 of file edca-txop-n.cc.

References m_fragmentNumber.

Referenced by StartNext().

+ Here is the caller graph for this function:

void ns3::EdcaTxopN::NotifyAccessGranted ( void  )

Definition at line 330 of file edca-txop-n.cc.

References ns3::WifiMacHeader::ADDR1, ns3::MsduAggregator::Aggregate(), ns3::BASIC_BLOCK_ACK, CompleteTx(), ns3::WifiMacQueue::DequeueFirstAvailable(), ns3::MacLowTransmissionParameters::DisableAck(), ns3::MacLowTransmissionParameters::DisableNextData(), ns3::MacLowTransmissionParameters::DisableOverrideDurationId(), ns3::MacLowTransmissionParameters::DisableRts(), ns3::MacLowTransmissionParameters::EnableAck(), ns3::MacLowTransmissionParameters::EnableNextData(), ns3::MacLowTransmissionParameters::EnableRts(), ns3::BlockAckManager::ExistsAgreement(), ns3::WifiMacHeader::GetAddr1(), ns3::MacLow::GetBssid(), GetFragmentPacket(), GetNextFragmentSize(), ns3::BlockAckManager::GetNextPacket(), ns3::MacTxMiddle::GetNextSequenceNumberfor(), ns3::WifiMacHeader::GetQosTid(), ns3::WifiMacHeader::GetSequenceControl(), ns3::Packet::GetSize(), ns3::WifiMacHeader::GetType(), ns3::BlockAckManager::HasBar(), ns3::BlockAckManager::HasPackets(), ns3::Mac48Address::IsBroadcast(), ns3::WifiMacHeader::IsData(), ns3::WifiMacQueue::IsEmpty(), ns3::Mac48Address::IsGroup(), IsLastFragment(), ns3::WifiMacHeader::IsQosAmsdu(), ns3::WifiMacHeader::IsQosBlockAck(), ns3::WifiMacHeader::IsQosData(), ns3::WifiMacHeader::IsRetry(), m_aggregator, m_baManager, m_blockAckThreshold, m_blockAckType, m_currentBar, m_currentHdr, m_currentPacket, m_currentPacketTimestamp, m_fragmentNumber, m_low, m_qosBlockedDestinations, m_queue, m_transmissionListener, m_txMiddle, MapDestAddressForAggregation(), MapSrcAddressForAggregation(), NeedFragmentation(), NeedRts(), NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::WifiMacQueue::PeekByTidAndAddress(), ns3::WifiMacQueue::PeekFirstAvailable(), ns3::WifiMacQueue::Remove(), SendBlockAckRequest(), ns3::WifiMacHeader::SetAddr3(), ns3::WifiMacHeader::SetFragmentNumber(), ns3::WifiMacHeader::SetNoMoreFragments(), ns3::WifiMacHeader::SetNoRetry(), ns3::WifiMacHeader::SetQosAmsdu(), ns3::WifiMacHeader::SetSequenceNumber(), SetupBlockAckIfNeeded(), ns3::MacLow::StartTransmission(), VerifyBlockAck(), and ns3::WIFI_MAC_CTL_BACKREQ.

Referenced by ns3::EdcaTxopN::Dcf::DoNotifyAccessGranted().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::EdcaTxopN::NotifyChannelSwitching ( void  )

When a channel switching occurs, enqueued packets are removed.

Definition at line 540 of file edca-txop-n.cc.

References ns3::WifiMacQueue::Flush(), m_currentPacket, and m_queue.

Referenced by ns3::EdcaTxopN::Dcf::DoNotifyChannelSwitching().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::EdcaTxopN::NotifyCollision ( void  )

Definition at line 500 of file edca-txop-n.cc.

References ns3::DcfState::GetCw(), ns3::RandomStream::GetNext(), m_dcf, m_rng, NS_LOG_FUNCTION, RestartAccessIfNeeded(), and ns3::DcfState::StartBackoffNow().

Referenced by ns3::EdcaTxopN::Dcf::DoNotifyCollision(), and NotifyInternalCollision().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::EdcaTxopN::NotifyInternalCollision ( void  )

Definition at line 493 of file edca-txop-n.cc.

References NotifyCollision(), and NS_LOG_FUNCTION.

Referenced by ns3::EdcaTxopN::Dcf::DoNotifyInternalCollision().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

EdcaTxopN& ns3::EdcaTxopN::operator= ( const EdcaTxopN )
private
void ns3::EdcaTxopN::PushFront ( Ptr< const Packet packet,
const WifiMacHeader hdr 
)
void ns3::EdcaTxopN::RestartAccessIfNeeded ( void  )
void ns3::EdcaTxopN::SetAccessCategory ( enum AcIndex  ac)

Definition at line 801 of file edca-txop-n.cc.

References m_ac.

void ns3::EdcaTxopN::SetAifsn ( uint32_t  aifsn)
virtual

Implements ns3::Dcf.

Definition at line 280 of file edca-txop-n.cc.

References m_dcf, NS_LOG_FUNCTION, and ns3::DcfState::SetAifsn().

+ Here is the call graph for this function:

void ns3::EdcaTxopN::SetBlockAckInactivityTimeout ( uint16_t  timeout)

Definition at line 1011 of file edca-txop-n.cc.

References m_blockAckInactivityTimeout, and timeout.

Referenced by GetTypeId(), and ns3::QosWifiMacHelper::Setup().

+ Here is the caller graph for this function:

void ns3::EdcaTxopN::SetBlockAckThreshold ( uint8_t  threshold)

Definition at line 1004 of file edca-txop-n.cc.

References m_baManager, m_blockAckThreshold, and ns3::BlockAckManager::SetBlockAckThreshold().

Referenced by GetTypeId(), and ns3::QosWifiMacHelper::Setup().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::EdcaTxopN::SetLow ( Ptr< MacLow low)

Definition at line 317 of file edca-txop-n.cc.

References m_low, and NS_LOG_FUNCTION.

Referenced by ns3::RegularWifiMac::SetupEdcaQueue().

+ Here is the caller graph for this function:

void ns3::EdcaTxopN::SetManager ( DcfManager manager)

Definition at line 220 of file edca-txop-n.cc.

References ns3::DcfManager::Add(), m_dcf, m_manager, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::EdcaTxopN::SetMaxCw ( uint32_t  maxCw)
virtual

Implements ns3::Dcf.

Definition at line 273 of file edca-txop-n.cc.

References m_dcf, NS_LOG_FUNCTION, and ns3::DcfState::SetCwMax().

+ Here is the call graph for this function:

void ns3::EdcaTxopN::SetMinCw ( uint32_t  minCw)
virtual

Implements ns3::Dcf.

Definition at line 266 of file edca-txop-n.cc.

References m_dcf, NS_LOG_FUNCTION, and ns3::DcfState::SetCwMin().

+ Here is the call graph for this function:

void ns3::EdcaTxopN::SetMsduAggregator ( Ptr< MsduAggregator aggr)

Definition at line 837 of file edca-txop-n.cc.

References m_aggregator.

Referenced by ns3::QosWifiMacHelper::Setup().

+ Here is the caller graph for this function:

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

Definition at line 234 of file edca-txop-n.cc.

References m_txFailedCallback.

void ns3::EdcaTxopN::SetTxMiddle ( MacTxMiddle txMiddle)

Definition at line 305 of file edca-txop-n.cc.

References m_txMiddle.

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

Definition at line 228 of file edca-txop-n.cc.

References m_txOkCallback.

void ns3::EdcaTxopN::SetTypeOfStation ( enum TypeOfStation  type)

Definition at line 246 of file edca-txop-n.cc.

References m_typeOfStation, and NS_LOG_FUNCTION.

bool ns3::EdcaTxopN::SetupBlockAckIfNeeded ( )
private
void ns3::EdcaTxopN::SetWifiRemoteStationManager ( Ptr< WifiRemoteStationManager remoteManager)

Definition at line 240 of file edca-txop-n.cc.

References m_stationManager, and NS_LOG_FUNCTION.

void ns3::EdcaTxopN::StartAccessIfNeeded ( void  )

Definition at line 664 of file edca-txop-n.cc.

References ns3::BlockAckManager::HasPackets(), ns3::DcfState::IsAccessRequested(), ns3::WifiMacQueue::IsEmpty(), m_baManager, m_currentPacket, m_dcf, m_manager, m_queue, NS_LOG_FUNCTION, and ns3::DcfManager::RequestAccess().

Referenced by CompleteTx(), EndTxNoAck(), PushFront(), and Queue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Friends And Related Function Documentation

friend class Dcf
friend

Definition at line 205 of file edca-txop-n.h.

Referenced by EdcaTxopN().

friend class TransmissionListener
friend

Definition at line 207 of file edca-txop-n.h.

Referenced by EdcaTxopN().

Member Data Documentation

AcIndex ns3::EdcaTxopN::m_ac
private

Definition at line 202 of file edca-txop-n.h.

Referenced by CompleteConfig(), and SetAccessCategory().

Ptr<MsduAggregator> ns3::EdcaTxopN::m_aggregator
private
uint16_t ns3::EdcaTxopN::m_blockAckInactivityTimeout
private

Definition at line 237 of file edca-txop-n.h.

Referenced by SetBlockAckInactivityTimeout(), and SetupBlockAckIfNeeded().

BlockAckEventListener* ns3::EdcaTxopN::m_blockAckListener
private

Definition at line 216 of file edca-txop-n.h.

Referenced by CompleteConfig(), DoDispose(), and EdcaTxopN().

uint8_t ns3::EdcaTxopN::m_blockAckThreshold
private
enum BlockAckType ns3::EdcaTxopN::m_blockAckType
private

Definition at line 235 of file edca-txop-n.h.

Referenced by EdcaTxopN(), NotifyAccessGranted(), and SendBlockAckRequest().

struct Bar ns3::EdcaTxopN::m_currentBar
private

Definition at line 238 of file edca-txop-n.h.

Referenced by NotifyAccessGranted().

Time ns3::EdcaTxopN::m_currentPacketTimestamp
private

Definition at line 236 of file edca-txop-n.h.

Referenced by CompleteTx(), and NotifyAccessGranted().

uint8_t ns3::EdcaTxopN::m_fragmentNumber
private
Ptr<MacLow> ns3::EdcaTxopN::m_low
private
DcfManager* ns3::EdcaTxopN::m_manager
private

Definition at line 209 of file edca-txop-n.h.

Referenced by RestartAccessIfNeeded(), SetManager(), and StartAccessIfNeeded().

QosBlockedDestinations* ns3::EdcaTxopN::m_qosBlockedDestinations
private

Definition at line 229 of file edca-txop-n.h.

Referenced by DoDispose(), EdcaTxopN(), and NotifyAccessGranted().

TransmissionListener* ns3::EdcaTxopN::m_transmissionListener
private
TxFailed ns3::EdcaTxopN::m_txFailedCallback
private

Definition at line 212 of file edca-txop-n.h.

Referenced by MissedAck(), MissedCts(), and SetTxFailedCallback().

MacTxMiddle* ns3::EdcaTxopN::m_txMiddle
private
TxOk ns3::EdcaTxopN::m_txOkCallback
private

Definition at line 211 of file edca-txop-n.h.

Referenced by GotAck(), and SetTxOkCallback().

TypeOfStation ns3::EdcaTxopN::m_typeOfStation
private

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