Handles sequence numbering of IEEE 802.11 data frames. More...
#include "mac-tx-middle.h"
| 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. | |
| 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.
| 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.
| 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.
| 
 | 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().