23 #include "ns3/assert.h" 
   25 #include "mac-tx-middle.h" 
   26 #include "wifi-mac-header.h" 
   30 MacTxMiddle::MacTxMiddle ()
 
   35 MacTxMiddle::~MacTxMiddle ()
 
   37   for (std::map<Mac48Address,uint16_t*>::iterator i = m_qosSequences.begin (); i != m_qosSequences.end (); i++)
 
   44 MacTxMiddle::GetNextSequenceNumberfor (
const WifiMacHeader *hdr)
 
   48       && !hdr->GetAddr1 ().IsGroup ())
 
   50       uint8_t tid = hdr->GetQosTid ();
 
   52       std::map<Mac48Address, uint16_t*>::iterator it = m_qosSequences.find (hdr->GetAddr1 ());
 
   53       if (it != m_qosSequences.end ())
 
   55           retval = it->second[tid];
 
   57           it->second[tid] %= 4096;
 
   62           std::pair <Mac48Address,uint16_t*> newSeq (hdr->GetAddr1 (), 
new uint16_t[16]);
 
   63           std::pair <std::map<Mac48Address,uint16_t*>::iterator,
bool> newIns = m_qosSequences.insert (newSeq);
 
   65           for (uint8_t i = 0; i < 16; i++)
 
   67               newIns.first->second[i] = 0;
 
   69           newIns.first->second[tid]++;
 
   82 MacTxMiddle::GetNextSeqNumberByTidAndAddress (uint8_t tid, Mac48Address addr)
 const 
   86   std::map <Mac48Address,uint16_t*>::const_iterator it = m_qosSequences.find (addr);
 
   87   if (it != m_qosSequences.end ())
 
   89       return it->second[tid];
 
#define NS_ASSERT(condition)