src/wifi/model/mac-low.cc
changeset 9894 ac4e52a91d5d
parent 9238 e6c89f14f09b
child 10139 17a71cd49da3
equal deleted inserted replaced
9893:18f2d30eddbe 9894:ac4e52a91d5d
  1010     {
  1010     {
  1011       // see section 9.3.2.2 802.11-1999
  1011       // see section 9.3.2.2 802.11-1999
  1012       DoNavResetNow (duration);
  1012       DoNavResetNow (duration);
  1013       return;
  1013       return;
  1014     }
  1014     }
  1015   // XXX Note that we should also handle CF_END specially here
  1015   /// \todo We should also handle CF_END specially here
  1016   // but we don't for now because we do not generate them.
  1016   /// but we don't for now because we do not generate them.
  1017   else if (hdr.GetAddr1 () != m_self)
  1017   else if (hdr.GetAddr1 () != m_self)
  1018     {
  1018     {
  1019       // see section 9.2.5.4 802.11-1999
  1019       // see section 9.2.5.4 802.11-1999
  1020       bool navUpdated = DoNavStartNow (duration);
  1020       bool navUpdated = DoNavStartNow (duration);
  1021       if (hdr.IsRts () && navUpdated)
  1021       if (hdr.IsRts () && navUpdated)
  1126 void
  1126 void
  1127 MacLow::CtsTimeout (void)
  1127 MacLow::CtsTimeout (void)
  1128 {
  1128 {
  1129   NS_LOG_FUNCTION (this);
  1129   NS_LOG_FUNCTION (this);
  1130   NS_LOG_DEBUG ("cts timeout");
  1130   NS_LOG_DEBUG ("cts timeout");
  1131   // XXX: should check that there was no rx start before now.
  1131   /// \todo should check that there was no rx start before now.
  1132   // we should restart a new cts timeout now until the expected
  1132   /// we should restart a new cts timeout now until the expected
  1133   // end of rx if there was a rx start before now.
  1133   /// end of rx if there was a rx start before now.
  1134   m_stationManager->ReportRtsFailed (m_currentHdr.GetAddr1 (), &m_currentHdr);
  1134   m_stationManager->ReportRtsFailed (m_currentHdr.GetAddr1 (), &m_currentHdr);
  1135   m_currentPacket = 0;
  1135   m_currentPacket = 0;
  1136   MacLowTransmissionListener *listener = m_listener;
  1136   MacLowTransmissionListener *listener = m_listener;
  1137   m_listener = 0;
  1137   m_listener = 0;
  1138   listener->MissedCts ();
  1138   listener->MissedCts ();
  1140 void
  1140 void
  1141 MacLow::NormalAckTimeout (void)
  1141 MacLow::NormalAckTimeout (void)
  1142 {
  1142 {
  1143   NS_LOG_FUNCTION (this);
  1143   NS_LOG_FUNCTION (this);
  1144   NS_LOG_DEBUG ("normal ack timeout");
  1144   NS_LOG_DEBUG ("normal ack timeout");
  1145   // XXX: should check that there was no rx start before now.
  1145   /// \todo should check that there was no rx start before now.
  1146   // we should restart a new ack timeout now until the expected
  1146   /// we should restart a new ack timeout now until the expected
  1147   // end of rx if there was a rx start before now.
  1147   /// end of rx if there was a rx start before now.
  1148   m_stationManager->ReportDataFailed (m_currentHdr.GetAddr1 (), &m_currentHdr);
  1148   m_stationManager->ReportDataFailed (m_currentHdr.GetAddr1 (), &m_currentHdr);
  1149   MacLowTransmissionListener *listener = m_listener;
  1149   MacLowTransmissionListener *listener = m_listener;
  1150   m_listener = 0;
  1150   m_listener = 0;
  1151   listener->MissedAck ();
  1151   listener->MissedAck ();
  1152 }
  1152 }