equal
deleted
inserted
replaced
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 |