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

(-)a/src/devices/wifi/wifi-remote-station-manager.cc (-6 / +11 lines)
 Lines 138-144    Link Here 
138
                   " transmission of each packet is obtained before sending the next. Otherwise, we modelize a "
138
                   " transmission of each packet is obtained before sending the next. Otherwise, we modelize a "
139
                   " high-latency device, that is a device where we cannot update our decision about tx parameters"
139
                   " high-latency device, that is a device where we cannot update our decision about tx parameters"
140
                   " after every packet transmission.",
140
                   " after every packet transmission.",
141
                   BooleanValue (true),
141
                   BooleanValue (true), // this value is ignored because there is no setter
142
                   MakeBooleanAccessor (&WifiRemoteStationManager::IsLowLatency),
142
                   MakeBooleanAccessor (&WifiRemoteStationManager::IsLowLatency),
143
                   MakeBooleanChecker ())
143
                   MakeBooleanChecker ())
144
    .AddAttribute ("MaxSsrc", "The maximum number of retransmission attempts for an RTS. This value"
144
    .AddAttribute ("MaxSsrc", "The maximum number of retransmission attempts for an RTS. This value"
 Lines 332-339    Link Here 
332
    {
332
    {
333
      return;
333
      return;
334
    }
334
    }
335
  TxModeTag tag = TxModeTag (GetRtsMode (address, header, packet), 
335
  WifiRemoteStation *station = Lookup (address, header);
336
                             GetDataMode (address, header, packet, fullPacketSize));
336
  WifiMode rts = DoGetRtsMode (station);
337
  WifiMode data = DoGetDataMode (station, fullPacketSize);
338
  TxModeTag tag;
339
  // first, make sure that the tag is not here anymore.
340
  ConstCast<Packet> (packet)->RemovePacketTag (tag);
341
  tag = TxModeTag (rts, data);
342
  // and then, add it back
337
  packet->AddPacketTag (tag);
343
  packet->AddPacketTag (tag);
338
}
344
}
339
WifiMode
345
WifiMode
 Lines 346-355    Link Here 
346
    }
352
    }
347
  if (!IsLowLatency ())
353
  if (!IsLowLatency ())
348
    {
354
    {
349
      // Note: removing the packet below is wrong: what happens in case of retransmissions ???
350
      TxModeTag tag;
355
      TxModeTag tag;
351
      bool found;
356
      bool found;
352
      found = ConstCast<Packet> (packet)->RemovePacketTag (tag);
357
      found = ConstCast<Packet> (packet)->PeekPacketTag (tag);
353
      NS_ASSERT (found);
358
      NS_ASSERT (found);
354
      return tag.GetDataMode ();
359
      return tag.GetDataMode ();
355
    }
360
    }
 Lines 364-370    Link Here 
364
    {
369
    {
365
      TxModeTag tag;
370
      TxModeTag tag;
366
      bool found;
371
      bool found;
367
      found = ConstCast<Packet> (packet)->RemovePacketTag (tag);
372
      found = ConstCast<Packet> (packet)->PeekPacketTag (tag);
368
      NS_ASSERT (found);
373
      NS_ASSERT (found);
369
      return tag.GetRtsMode ();
374
      return tag.GetRtsMode ();
370
    }
375
    }

Return to bug 802