|
96 |
virtual void Cancel (void) { |
96 |
virtual void Cancel (void) { |
97 |
m_txop->Cancel (); |
97 |
m_txop->Cancel (); |
98 |
} |
98 |
} |
|
|
99 |
virtual void EndTxNoAck (void) { |
100 |
m_txop->EndTxNoAck (); |
101 |
} |
99 |
|
102 |
|
100 |
private: |
103 |
private: |
101 |
EdcaTxopN *m_txop; |
104 |
EdcaTxopN *m_txop; |
|
371 |
m_transmissionListener); |
374 |
m_transmissionListener); |
372 |
|
375 |
|
373 |
m_currentPacket = 0; |
376 |
m_currentPacket = 0; |
374 |
m_dcf->ResetCw (); |
|
|
375 |
m_dcf->StartBackoffNow (m_rng->GetNext (0, m_dcf->GetCw ())); |
376 |
StartAccessIfNeeded (); |
377 |
NS_LOG_DEBUG ("tx broadcast"); |
377 |
NS_LOG_DEBUG ("tx broadcast"); |
378 |
} |
378 |
} |
379 |
else if (m_currentHdr.GetType() == WIFI_MAC_CTL_BACKREQ) |
379 |
else if (m_currentHdr.GetType() == WIFI_MAC_CTL_BACKREQ) |
|
716 |
NS_LOG_DEBUG ("transmission cancelled"); |
716 |
NS_LOG_DEBUG ("transmission cancelled"); |
717 |
} |
717 |
} |
718 |
|
718 |
|
|
|
719 |
|
720 |
void |
721 |
EdcaTxopN::EndTxNoAck (void) |
722 |
{ |
723 |
NS_LOG_FUNCTION (this); |
724 |
NS_LOG_DEBUG ("a transmission that did not require an ACK just finished"); |
725 |
NS_ASSERT (m_currentPacket == 0); |
726 |
m_dcf->ResetCw (); |
727 |
m_dcf->StartBackoffNow (m_rng->GetNext (0, m_dcf->GetCw ())); |
728 |
StartAccessIfNeeded (); |
729 |
} |
730 |
|
731 |
|
719 |
bool |
732 |
bool |
720 |
EdcaTxopN::NeedFragmentation (void) const |
733 |
EdcaTxopN::NeedFragmentation (void) const |
721 |
{ |
734 |
{ |