Handles sequence numbering of IEEE 802.11 data frames. More...
#include "mac-tx-middle.h"
Inheritance diagram for ns3::MacTxMiddle:
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. | |
| uint16_t | GetNextSequenceNumberFor (const WifiMacHeader *hdr) |
| Return the next sequence number for the given header. | |
| uint16_t | PeekNextSequenceNumberFor (const WifiMacHeader *hdr) |
| Return the next sequence number for the Traffic ID and destination, but do not pick it (i.e. | |
| void | SetSequenceNumberFor (const WifiMacHeader *hdr) |
| Set the sequence number of the given MAC header as the next sequence number for the Traffic ID and destination of the given MAC header. | |
Public Member Functions inherited from ns3::SimpleRefCount< MacTxMiddle > | |
| SimpleRefCount () | |
| Default constructor. | |
| SimpleRefCount (const SimpleRefCount &o) | |
| Copy constructor. | |
| uint32_t | GetReferenceCount () const |
| Get the reference count of the object. | |
| SimpleRefCount & | operator= (const SimpleRefCount &o) |
| Assignment operator. | |
| void | Ref () const |
| Increment the reference count. | |
| void | Unref () const |
| Decrement the reference count. | |
Private Attributes | |
| std::map< Mac48Address, uint16_t * > | m_qosSequences |
| QOS sequences. | |
| uint16_t | m_sequence |
| current sequence number | |
Handles sequence numbering of IEEE 802.11 data frames.
Definition at line 29 of file mac-tx-middle.h.
| ns3::MacTxMiddle::MacTxMiddle | ( | ) |
Definition at line 23 of file mac-tx-middle.cc.
References m_sequence, and NS_LOG_FUNCTION.
| ns3::MacTxMiddle::~MacTxMiddle | ( | ) |
Definition at line 29 of file mac-tx-middle.cc.
References m_qosSequences, and NS_LOG_FUNCTION.
| uint16_t ns3::MacTxMiddle::GetNextSeqNumberByTidAndAddress | ( | uint8_t | tid, |
| Mac48Address | addr ) const |
Return the next sequence number for the Traffic ID and destination.
| tid | Traffic ID |
| addr | destination address |
Definition at line 103 of file mac-tx-middle.cc.
References m_qosSequences, NS_ASSERT, and NS_LOG_FUNCTION.
| uint16_t ns3::MacTxMiddle::GetNextSequenceNumberFor | ( | const WifiMacHeader * | hdr | ) |
Return the next sequence number for the given header.
| hdr | Wi-Fi header |
Definition at line 39 of file mac-tx-middle.cc.
References ns3::WifiMacHeader::GetAddr1(), ns3::WifiMacHeader::GetQosTid(), ns3::Mac48Address::IsBroadcast(), ns3::WifiMacHeader::IsQosData(), m_qosSequences, m_sequence, NS_ASSERT, and NS_LOG_FUNCTION.
Here is the call 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.
| hdr | Wi-Fi header |
Definition at line 77 of file mac-tx-middle.cc.
References ns3::WifiMacHeader::GetAddr1(), ns3::WifiMacHeader::GetQosTid(), ns3::Mac48Address::IsBroadcast(), ns3::WifiMacHeader::IsQosData(), m_qosSequences, m_sequence, NS_ASSERT, and NS_LOG_FUNCTION.
Here is the call graph for this function:| void ns3::MacTxMiddle::SetSequenceNumberFor | ( | const WifiMacHeader * | hdr | ) |
Set the sequence number of the given MAC header as the next sequence number for the Traffic ID and destination of the given MAC header.
| hdr | the given MAC header |
Definition at line 117 of file mac-tx-middle.cc.
References ns3::WifiMacHeader::GetAddr1(), ns3::WifiMacHeader::GetQosTid(), ns3::WifiMacHeader::GetSequenceNumber(), ns3::Mac48Address::IsBroadcast(), ns3::WifiMacHeader::IsQosData(), m_qosSequences, m_sequence, NS_ASSERT, and NS_LOG_FUNCTION.
Here is the call graph for this function:
|
private |
QOS sequences.
Definition at line 68 of file mac-tx-middle.h.
Referenced by ~MacTxMiddle(), GetNextSeqNumberByTidAndAddress(), GetNextSequenceNumberFor(), PeekNextSequenceNumberFor(), and SetSequenceNumberFor().
|
private |
current sequence number
Definition at line 69 of file mac-tx-middle.h.
Referenced by MacTxMiddle(), GetNextSequenceNumberFor(), PeekNextSequenceNumberFor(), and SetSequenceNumberFor().