equal
deleted
inserted
replaced
235 parameters->Initialize (ctsDelay, ackDelay); |
235 parameters->Initialize (ctsDelay, ackDelay); |
236 m_parameters = parameters; |
236 m_parameters = parameters; |
237 m_stations->SetParameters (m_parameters); |
237 m_stations->SetParameters (m_parameters); |
238 |
238 |
239 // the MacLow |
239 // the MacLow |
240 MacLow *low = new MacLow (); |
240 Ptr<MacLow> low = CreateObject<MacLow> (); |
241 low->SetDevice (this); |
241 low->SetDevice (this); |
242 low->SetPhy (m_phy); |
242 low->SetPhy (m_phy); |
243 low->SetStations (m_stations); |
243 low->SetStations (m_stations); |
244 low->SetParameters (m_parameters); |
244 low->SetParameters (m_parameters); |
245 m_phy->SetReceiveOkCallback (MakeCallback (&MacLow::ReceiveOk, low)); |
245 m_phy->SetReceiveOkCallback (MakeCallback (&MacLow::ReceiveOk, low)); |
264 m_phy->RegisterListener (m_phyListener); |
264 m_phy->RegisterListener (m_phyListener); |
265 m_navListener = new WifiNetDevice::NavListener (m_manager); |
265 m_navListener = new WifiNetDevice::NavListener (m_manager); |
266 m_low->RegisterNavListener (m_navListener); |
266 m_low->RegisterNavListener (m_navListener); |
267 } |
267 } |
268 |
268 |
269 DcaTxop * |
269 Ptr<DcaTxop> |
270 WifiNetDevice::CreateDca (uint32_t minCw, uint32_t maxCw, uint32_t aifsn) const |
270 WifiNetDevice::CreateDca (uint32_t minCw, uint32_t maxCw, uint32_t aifsn) const |
271 { |
271 { |
272 DcaTxop *dca = new DcaTxop (minCw, maxCw, aifsn, m_manager); |
272 Ptr<DcaTxop> dca = CreateObject<DcaTxop> (minCw, maxCw, aifsn, m_manager); |
273 dca->SetParameters (m_parameters); |
273 dca->SetParameters (m_parameters); |
274 dca->SetTxMiddle (m_txMiddle); |
274 dca->SetTxMiddle (m_txMiddle); |
275 dca->SetLow (m_low); |
275 dca->SetLow (m_low); |
276 dca->SetStations (m_stations); |
276 dca->SetStations (m_stations); |
277 dca->SetMaxQueueSize (400); |
277 dca->SetMaxQueueSize (400); |
295 "Packet", "the packet to send", |
295 "Packet", "the packet to send", |
296 "Mac48Address", "the destination of the packet"), |
296 "Mac48Address", "the destination of the packet"), |
297 m_txLogger, |
297 m_txLogger, |
298 WifiNetDeviceTraceType (WifiNetDeviceTraceType::TX)); |
298 WifiNetDeviceTraceType (WifiNetDeviceTraceType::TX)); |
299 resolver->AddComposite ("phy", m_phy); |
299 resolver->AddComposite ("phy", m_phy); |
|
300 resolver->AddComposite ("maclow", m_low); |
300 resolver->SetParentResolver (NetDevice::GetTraceResolver ()); |
301 resolver->SetParentResolver (NetDevice::GetTraceResolver ()); |
301 return resolver; |
302 return resolver; |
302 } |
303 } |
303 |
304 |
304 void |
305 void |
355 // chain up. |
356 // chain up. |
356 NetDevice::DoDispose (); |
357 NetDevice::DoDispose (); |
357 // cleanup local |
358 // cleanup local |
358 m_channel = 0; |
359 m_channel = 0; |
359 delete m_stations; |
360 delete m_stations; |
360 delete m_low; |
|
361 delete m_rxMiddle; |
361 delete m_rxMiddle; |
362 delete m_txMiddle; |
362 delete m_txMiddle; |
363 delete m_parameters; |
363 delete m_parameters; |
364 delete m_manager; |
364 delete m_manager; |
365 delete m_phyListener; |
365 delete m_phyListener; |
437 AdhocWifiNetDevice::DoDispose (void) |
437 AdhocWifiNetDevice::DoDispose (void) |
438 { |
438 { |
439 // chain up. |
439 // chain up. |
440 WifiNetDevice::DoDispose (); |
440 WifiNetDevice::DoDispose (); |
441 // local cleanup |
441 // local cleanup |
442 delete m_dca; |
|
443 delete m_high; |
442 delete m_high; |
444 m_dca = 0; |
443 m_dca = 0; |
445 m_high = 0; |
444 m_high = 0; |
|
445 } |
|
446 Ptr<TraceResolver> |
|
447 AdhocWifiNetDevice::GetTraceResolver (void) const |
|
448 { |
|
449 Ptr<CompositeTraceResolver> resolver = |
|
450 Create<CompositeTraceResolver> (); |
|
451 resolver->AddComposite ("dca", m_dca); |
|
452 resolver->SetParentResolver (WifiNetDevice::GetTraceResolver ()); |
|
453 return resolver; |
446 } |
454 } |
447 |
455 |
448 |
456 |
449 /***************************************************** |
457 /***************************************************** |
450 * STA code |
458 * STA code |
526 NqstaWifiNetDevice::DoDispose (void) |
534 NqstaWifiNetDevice::DoDispose (void) |
527 { |
535 { |
528 // chain up. |
536 // chain up. |
529 WifiNetDevice::DoDispose (); |
537 WifiNetDevice::DoDispose (); |
530 // local cleanup |
538 // local cleanup |
531 delete m_dca; |
|
532 delete m_high; |
539 delete m_high; |
533 m_dca = 0; |
540 m_dca = 0; |
534 m_high = 0; |
541 m_high = 0; |
535 } |
542 } |
536 |
543 |
|
544 Ptr<TraceResolver> |
|
545 NqstaWifiNetDevice::GetTraceResolver (void) const |
|
546 { |
|
547 Ptr<CompositeTraceResolver> resolver = |
|
548 Create<CompositeTraceResolver> (); |
|
549 resolver->AddComposite ("dca", m_dca); |
|
550 resolver->SetParentResolver (WifiNetDevice::GetTraceResolver ()); |
|
551 return resolver; |
|
552 } |
537 |
553 |
538 /***************************************************** |
554 /***************************************************** |
539 * AP code |
555 * AP code |
540 *****************************************************/ |
556 *****************************************************/ |
541 |
557 |
621 NqapWifiNetDevice::DoDispose (void) |
637 NqapWifiNetDevice::DoDispose (void) |
622 { |
638 { |
623 // chain up. |
639 // chain up. |
624 WifiNetDevice::DoDispose (); |
640 WifiNetDevice::DoDispose (); |
625 // local cleanup |
641 // local cleanup |
626 delete m_dca; |
|
627 delete m_beaconDca; |
|
628 delete m_high; |
642 delete m_high; |
629 m_dca = 0; |
643 m_dca = 0; |
630 m_high = 0; |
644 m_high = 0; |
631 m_beaconDca = 0; |
645 m_beaconDca = 0; |
632 } |
646 } |
633 |
647 |
|
648 Ptr<TraceResolver> |
|
649 NqapWifiNetDevice::GetTraceResolver (void) const |
|
650 { |
|
651 Ptr<CompositeTraceResolver> resolver = |
|
652 Create<CompositeTraceResolver> (); |
|
653 resolver->AddComposite ("dca", m_dca); |
|
654 resolver->AddComposite ("beaconDca", m_beaconDca); |
|
655 resolver->SetParentResolver (WifiNetDevice::GetTraceResolver ()); |
|
656 return resolver; |
|
657 } |
634 |
658 |
635 } // namespace ns3 |
659 } // namespace ns3 |
636 |
660 |