INET Framework for OMNeT++/OMNEST
inet::ieee80211::NonQoSSequenceNumberAssignment Class Reference

#include <NonQoSSequenceNumberAssignment.h>

Inheritance diagram for inet::ieee80211::NonQoSSequenceNumberAssignment:
inet::ieee80211::LegacySequenceNumberAssignment inet::ieee80211::ISequenceNumberAssignment

Public Member Functions

virtual void assignSequenceNumber (const Ptr< Ieee80211DataOrMgmtHeader > &header) override
 
- Public Member Functions inherited from inet::ieee80211::ISequenceNumberAssignment
virtual ~ISequenceNumberAssignment ()
 

Protected Attributes

std::map< MacAddress, SequenceNumberCycliclastSentSeqNums
 
- Protected Attributes inherited from inet::ieee80211::LegacySequenceNumberAssignment
SequenceNumberCyclic lastSeqNum = SequenceNumberCyclic(0)
 

Member Function Documentation

◆ assignSequenceNumber()

void inet::ieee80211::NonQoSSequenceNumberAssignment::assignSequenceNumber ( const Ptr< Ieee80211DataOrMgmtHeader > &  header)
overridevirtual

Reimplemented from inet::ieee80211::LegacySequenceNumberAssignment.

14 {
15  ASSERT(header->getType() != ST_DATA_WITH_QOS);
16  lastSeqNum = lastSeqNum + 1;
17  const MacAddress& address = header->getReceiverAddress();
18  auto it = lastSentSeqNums.find(address);
19  if (it == lastSentSeqNums.end())
20  lastSentSeqNums[address] = lastSeqNum;
21  else {
22  if (it->second == lastSeqNum)
23  lastSeqNum = lastSeqNum + 1; // make it different from the last sequence number sent to that RA (spec: "add 2")
24  it->second = lastSeqNum;
25  }
26  header->setSequenceNumber(lastSeqNum);
27 }

Member Data Documentation

◆ lastSentSeqNums

std::map<MacAddress, SequenceNumberCyclic> inet::ieee80211::NonQoSSequenceNumberAssignment::lastSentSeqNums
protected

Referenced by assignSequenceNumber().


The documentation for this class was generated from the following files:
inet::ieee80211::NonQoSSequenceNumberAssignment::lastSentSeqNums
std::map< MacAddress, SequenceNumberCyclic > lastSentSeqNums
Definition: NonQoSSequenceNumberAssignment.h:19
inet::ieee80211::LegacySequenceNumberAssignment::lastSeqNum
SequenceNumberCyclic lastSeqNum
Definition: LegacySequenceNumberAssignment.h:20
inet::ieee80211::ST_DATA_WITH_QOS
@ ST_DATA_WITH_QOS
Definition: Ieee80211Frame_m.h:169