A Discrete-Event Network Simulator
API
ns3::MacTxMiddle Class Reference

Handles sequence numbering of IEEE 802.11 data frames. More...

#include "mac-tx-middle.h"

+ Collaboration diagram for ns3::MacTxMiddle:

Public Member Functions

 MacTxMiddle ()
 
 ~MacTxMiddle ()
 
uint16_t GetNextSeqNumberByTidAndAddress (uint8_t tid, Mac48Address addr) const
 Return the next sequence number for the Traffic ID and destination. More...
 
uint16_t GetNextSequenceNumberfor (const WifiMacHeader *hdr)
 Return the next sequence number for the given header. More...
 
uint16_t PeekNextSequenceNumberfor (const WifiMacHeader *hdr)
 Return the next sequence number for the Traffic ID and destination, but do not pick it (i.e. More...
 

Private Attributes

std::map< Mac48Address, uint16_t * > m_qosSequences
 
uint16_t m_sequence
 

Detailed Description

Handles sequence numbering of IEEE 802.11 data frames.

Definition at line 39 of file mac-tx-middle.h.

Constructor & Destructor Documentation

ns3::MacTxMiddle::MacTxMiddle ( )

Definition at line 30 of file mac-tx-middle.cc.

ns3::MacTxMiddle::~MacTxMiddle ( )

Definition at line 35 of file mac-tx-middle.cc.

References m_qosSequences.

Member Function Documentation

uint16_t ns3::MacTxMiddle::GetNextSeqNumberByTidAndAddress ( uint8_t  tid,
Mac48Address  addr 
) const

Return the next sequence number for the Traffic ID and destination.

Parameters
tidTraffic ID
addrdestination address
Returns
the next sequence number

Definition at line 108 of file mac-tx-middle.cc.

References m_qosSequences, and NS_ASSERT.

Referenced by ns3::EdcaTxopN::CompleteMpduTx(), ns3::EdcaTxopN::CompleteTx(), ns3::BlockAckManager::NotifyGotBlockAck(), and ns3::EdcaTxopN::SetupBlockAckIfNeeded().

+ Here is the caller graph for this function:

uint16_t ns3::MacTxMiddle::GetNextSequenceNumberfor ( const WifiMacHeader hdr)

Return the next sequence number for the given header.

Parameters
hdrWi-Fi header
Returns
the next sequence number

Definition at line 44 of file mac-tx-middle.cc.

References ns3::WifiMacHeader::GetAddr1(), ns3::WifiMacHeader::GetQosTid(), ns3::Mac48Address::IsGroup(), ns3::WifiMacHeader::IsQosData(), m_qosSequences, m_sequence, and NS_ASSERT.

Referenced by AmpduAggregationTest::DoRun(), ns3::EdcaTxopN::GetNextSequenceNumberfor(), ns3::DcaTxop::NotifyAccessGranted(), ns3::EdcaTxopN::NotifyAccessGranted(), and ns3::EdcaTxopN::SendAddBaRequest().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint16_t ns3::MacTxMiddle::PeekNextSequenceNumberfor ( const WifiMacHeader hdr)

Return the next sequence number for the Traffic ID and destination, but do not pick it (i.e.

the current sequence number remains unchanged). This functions is used for A-MPDU aggregation.

Parameters
hdrWi-Fi header
Returns
the next sequence number

Definition at line 82 of file mac-tx-middle.cc.

References ns3::WifiMacHeader::GetAddr1(), ns3::WifiMacHeader::GetQosTid(), ns3::Mac48Address::IsGroup(), ns3::WifiMacHeader::IsQosData(), m_qosSequences, m_sequence, and NS_ASSERT.

Referenced by ns3::EdcaTxopN::MissedAck(), ns3::EdcaTxopN::MissedCts(), and ns3::EdcaTxopN::PeekNextSequenceNumberfor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

std::map<Mac48Address,uint16_t*> ns3::MacTxMiddle::m_qosSequences
private
uint16_t ns3::MacTxMiddle::m_sequence
private

Definition at line 72 of file mac-tx-middle.h.

Referenced by GetNextSequenceNumberfor(), and PeekNextSequenceNumberfor().


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