View | Details | Raw Unified | Return to bug 2222
Collapse All | Expand All

(-)a/src/wifi/model/edca-txop-n.cc (+43 lines)
 Lines 625-630    Link Here 
625
void EdcaTxopN::NotifyInternalCollision (void)
625
void EdcaTxopN::NotifyInternalCollision (void)
626
{
626
{
627
  NS_LOG_FUNCTION (this);
627
  NS_LOG_FUNCTION (this);
628
  bool resetDcf = false;
629
  bool needRts = m_stationManager->NeedRts (m_currentHdr.GetAddr1 (),
630
                                            &m_currentHdr,
631
                                            m_currentPacket,
632
                                            m_low->GetDataTxVector (m_currentPacket, &m_currentHdr));
633
  if (needRts)
634
    {
635
      if (!NeedRtsRetransmission ())
636
      {
637
        resetDcf = true;
638
        m_stationManager->ReportFinalRtsFailed (m_currentHdr.GetAddr1 (), &m_currentHdr);
639
      }
640
      else
641
      {
642
        m_stationManager->ReportRtsFailed (m_currentHdr.GetAddr1 (), &m_currentHdr);
643
      }
644
    }
645
  else
646
    {
647
      if (!NeedDataRetransmission ())
648
      {
649
        resetDcf = true;
650
        m_stationManager->ReportFinalDataFailed (m_currentHdr.GetAddr1 (), &m_currentHdr);
651
      }
652
      else
653
      {
654
        m_stationManager->ReportDataFailed (m_currentHdr.GetAddr1 (), &m_currentHdr);
655
      }
656
    }
657
  if (resetDcf)
658
    {
659
      if (!m_txFailedCallback.IsNull ())
660
        {
661
          m_txFailedCallback (m_currentHdr);
662
        }
663
      //to reset the dcf.
664
      m_currentPacket = 0;
665
      m_dcf->ResetCw ();
666
    }
667
  else
668
    {
669
      m_dcf->UpdateFailedCw ();
670
    }
628
  NotifyCollision ();
671
  NotifyCollision ();
629
}
672
}
630
673
(-)a/src/wifi/model/mac-low.h (-1 lines)
 Lines 823-829    Link Here 
823
   */
823
   */
824
  void FlushAggregateQueue (void);
824
  void FlushAggregateQueue (void);
825
825
826
protected:
827
  /**
826
  /**
828
   * Return a TXVECTOR for the DATA frame given the destination.
827
   * Return a TXVECTOR for the DATA frame given the destination.
829
   * The function consults WifiRemoteStationManager, which controls the rate
828
   * The function consults WifiRemoteStationManager, which controls the rate

Return to bug 2222