src/devices/wifi/edca-txop-n.cc
changeset 5955 10fbe045901e
parent 5953 9e400f6b8a2c
child 5958 dd0accd82659
equal deleted inserted replaced
5954:2b9e06875b69 5955:10fbe045901e
    30 #include "wifi-mac.h"
    30 #include "wifi-mac.h"
    31 #include "random-stream.h"
    31 #include "random-stream.h"
    32 #include "wifi-mac-queue.h"
    32 #include "wifi-mac-queue.h"
    33 #include "msdu-aggregator.h"
    33 #include "msdu-aggregator.h"
    34 #include "mgt-headers.h"
    34 #include "mgt-headers.h"
       
    35 #include "ctrl-headers.h"
    35 
    36 
    36 NS_LOG_COMPONENT_DEFINE ("EdcaTxopN");
    37 NS_LOG_COMPONENT_DEFINE ("EdcaTxopN");
    37 
    38 
    38 #define MY_DEBUG(x) \
    39 #define MY_DEBUG(x) \
    39   NS_LOG_DEBUG (m_low->GetAddress () << " " << x)
    40   NS_LOG_DEBUG (m_low->GetAddress () << " " << x)
    80   virtual void GotAck (double snr, WifiMode txMode) {
    81   virtual void GotAck (double snr, WifiMode txMode) {
    81     m_txop->GotAck (snr, txMode);
    82     m_txop->GotAck (snr, txMode);
    82   }
    83   }
    83   virtual void MissedAck (void) {
    84   virtual void MissedAck (void) {
    84     m_txop->MissedAck ();
    85     m_txop->MissedAck ();
       
    86   }
       
    87   virtual void GotBlockAck (const CtrlBAckResponseHeader *blockAck, Mac48Address source) {
       
    88     m_txop->GotBlockAck (blockAck, source);
    85   }
    89   }
    86   virtual void StartNext (void) {
    90   virtual void StartNext (void) {
    87     m_txop->StartNext ();
    91     m_txop->StartNext ();
    88   }
    92   }
    89   virtual void Cancel (void) {
    93   virtual void Cancel (void) {
   707   MY_DEBUG ("received AddBa response from "<<recipient);
   711   MY_DEBUG ("received AddBa response from "<<recipient);
   708   //?
   712   //?
   709   RestartAccessIfNeeded ();
   713   RestartAccessIfNeeded ();
   710 }
   714 }
   711 
   715 
       
   716 void
       
   717 EdcaTxopN::GotBlockAck (const CtrlBAckResponseHeader *blockAck, Mac48Address recipient)
       
   718 {
       
   719   MY_DEBUG ("got block ack from="<<recipient);
       
   720   m_currentPacket = 0;
       
   721   m_dcf->ResetCw ();
       
   722   m_dcf->StartBackoffNow (m_rng->GetNext (0, m_dcf->GetCw ()));
       
   723   RestartAccessIfNeeded ();
       
   724 }
       
   725 
   712 } //namespace ns3
   726 } //namespace ns3