A Discrete-Event Network Simulator
API
Public Member Functions | Private Attributes | List of all members
ns3::MacTxMiddle Class Reference

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

#include "mac-tx-middle.h"

+ Inheritance 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...
 
- Public Member Functions inherited from ns3::SimpleRefCount< MacTxMiddle >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 

Private Attributes

std::map< Mac48Address, uint16_t * > m_qosSequences
 QOS sequences. More...
 
uint16_t m_sequence
 current sequence number More...
 

Detailed Description

Handles sequence numbering of IEEE 802.11 data frames.

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

Constructor & Destructor Documentation

◆ MacTxMiddle()

ns3::MacTxMiddle::MacTxMiddle ( )

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

References NS_LOG_FUNCTION.

◆ ~MacTxMiddle()

ns3::MacTxMiddle::~MacTxMiddle ( )

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

References m_qosSequences, and NS_LOG_FUNCTION.

Member Function Documentation

◆ GetNextSeqNumberByTidAndAddress()

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 114 of file mac-tx-middle.cc.

References m_qosSequences, NS_ASSERT, and NS_LOG_FUNCTION.

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

◆ GetNextSequenceNumberFor()

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

◆ PeekNextSequenceNumberFor()

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 87 of file mac-tx-middle.cc.

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

Referenced by ns3::QosTxop::MissedAck(), ns3::QosTxop::MissedCts(), and ns3::QosTxop::PeekNextSequenceNumberFor().

Member Data Documentation

◆ m_qosSequences

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

◆ m_sequence

uint16_t ns3::MacTxMiddle::m_sequence
private

current sequence number

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: