From ec5e79f86bb5fef79052fac72fec1b7a4153aa10 Mon Sep 17 00:00:00 2001 From: Mathieu Lacage Date: Tue, 16 Oct 2007 14:29:23 +0200 Subject: [PATCH] fix valgrind warning --- src/devices/wifi/dca-txop.cc | 4 ++-- src/devices/wifi/dca-txop.h | 2 +- src/devices/wifi/dcf.cc | 7 ++++--- src/devices/wifi/dcf.h | 4 ++-- src/devices/wifi/wifi-net-device.cc | 13 ++++++------- src/devices/wifi/wifi-net-device.h | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/devices/wifi/dca-txop.cc b/src/devices/wifi/dca-txop.cc index d5bb6e46c..46910f611 100644 --- a/src/devices/wifi/dca-txop.cc +++ b/src/devices/wifi/dca-txop.cc @@ -144,14 +144,14 @@ private: DcaTxop *m_txop; }; -DcaTxop::DcaTxop () +DcaTxop::DcaTxop (uint32_t minCw, uint32_t maxCw) : m_accessListener (0), m_hasCurrent (false), m_ssrc (0), m_slrc (0) { m_transmissionListener = new DcaTxop::TransmissionListener (this); - m_dcf = new Dcf (); + m_dcf = new Dcf (minCw, maxCw); m_accessListener = new DcaTxop::AccessListener (this); m_dcf->RegisterAccessListener (m_accessListener); m_queue = new WifiMacQueue (); diff --git a/src/devices/wifi/dca-txop.h b/src/devices/wifi/dca-txop.h index 6e443b8b2..19289e262 100644 --- a/src/devices/wifi/dca-txop.h +++ b/src/devices/wifi/dca-txop.h @@ -44,7 +44,7 @@ public: typedef Callback TxOk; typedef Callback TxFailed; - DcaTxop (); + DcaTxop (uint32_t minCw, uint32_t maxCw); ~DcaTxop (); void SetLow (MacLow *low); diff --git a/src/devices/wifi/dcf.cc b/src/devices/wifi/dcf.cc index 2732c10e7..96b8556da 100644 --- a/src/devices/wifi/dcf.cc +++ b/src/devices/wifi/dcf.cc @@ -43,8 +43,10 @@ DcfAccessListener::~DcfAccessListener () -Dcf::Dcf () +Dcf::Dcf (uint32_t min, uint32_t max) : m_accessTimerEvent (), + m_cwMin (min), + m_cwMax (max), m_backoffStart (MicroSeconds (0)), m_backoffLeft (MicroSeconds (0)), m_lastNavStart (MicroSeconds (0)), @@ -700,7 +702,7 @@ DcfTest::ExpectAccessGranted (uint64_t time) void DcfTest::StartTest (void) { - m_dcf = new Dcf (); + m_dcf = new Dcf (8, 64); TestRandomStream *stream = new TestRandomStream (); stream->AddNext (1); stream->AddNext (1); @@ -717,7 +719,6 @@ DcfTest::StartTest (void) m_parameters->SetSlotTime (MicroSeconds (1)); m_dcf->SetDifs (MicroSeconds (3)); m_dcf->SetEifs (MicroSeconds (4)); - m_dcf->SetCwBounds (8, 64); } void DcfTest::EndTest (void) diff --git a/src/devices/wifi/dcf.h b/src/devices/wifi/dcf.h index a34c0b155..3681a5417 100644 --- a/src/devices/wifi/dcf.h +++ b/src/devices/wifi/dcf.h @@ -56,13 +56,13 @@ public: class Dcf { public: - Dcf (); + Dcf (uint32_t minCw, uint32_t maxCw); ~Dcf (); void SetParameters (const MacParameters *parameters); void SetDifs (Time difs); void SetEifs (Time eifs); - void SetCwBounds (uint32_t min, uint32_t max); + void SetCwBounds (uint32_t minCw, uint32_t maxCw); void RegisterAccessListener (DcfAccessListener *listener); void RequestAccess (void); diff --git a/src/devices/wifi/wifi-net-device.cc b/src/devices/wifi/wifi-net-device.cc index 0ceb40682..f42fc94f4 100644 --- a/src/devices/wifi/wifi-net-device.cc +++ b/src/devices/wifi/wifi-net-device.cc @@ -144,14 +144,14 @@ WifiNetDevice::Construct (void) } DcaTxop * -WifiNetDevice::CreateDca (void) const +WifiNetDevice::CreateDca (uint32_t minCw, uint32_t maxCw) const { - DcaTxop *dca = new DcaTxop (); + DcaTxop *dca = new DcaTxop (minCw, maxCw); dca->SetParameters (m_parameters); dca->SetTxMiddle (m_txMiddle); dca->SetLow (m_low); dca->SetPhy (m_phy); - // 802.11a + Time difs = m_parameters->GetSifs () + m_parameters->GetSlotTime () + m_parameters->GetSlotTime (); @@ -159,7 +159,6 @@ WifiNetDevice::CreateDca (void) const m_phy->CalculateTxDuration (2+2+6+4, m_phy->GetMode (0), WIFI_PREAMBLE_LONG); dca->SetDifs (difs); dca->SetEifs (eifs); - dca->SetCwBounds (15, 1023); dca->SetMaxQueueSize (400); dca->SetMaxQueueDelay (Seconds (10)); return dca; @@ -226,7 +225,7 @@ AdhocWifiNetDevice::AdhocWifiNetDevice (Ptr node) : WifiNetDevice (node) { m_ssid = WifiDefaultParameters::GetSsid (); - m_dca = CreateDca (); + m_dca = CreateDca (15, 1023); MacHighAdhoc *high = new MacHighAdhoc (); high->SetDevice (this); @@ -277,7 +276,7 @@ NqstaWifiNetDevice::NqstaWifiNetDevice (Ptr node) : WifiNetDevice (node) { m_ssid = WifiDefaultParameters::GetSsid (); - m_dca = CreateDca (); + m_dca = CreateDca (15, 1023); SupportedRates rates; for (uint32_t i = 0; i < m_phy->GetNModes (); i++) @@ -355,7 +354,7 @@ NqapWifiNetDevice::NqapWifiNetDevice (Ptr node) { m_ssid = WifiDefaultParameters::GetSsid (); - m_dca = CreateDca (); + m_dca = CreateDca (15, 1023); SupportedRates rates; for (uint32_t i = 0; i < m_phy->GetNModes (); i++) diff --git a/src/devices/wifi/wifi-net-device.h b/src/devices/wifi/wifi-net-device.h index 68d2439eb..4fa9e31bb 100644 --- a/src/devices/wifi/wifi-net-device.h +++ b/src/devices/wifi/wifi-net-device.h @@ -71,7 +71,7 @@ private: protected: WifiNetDevice (Ptr node); void DoForwardUp (Packet packet, const Mac48Address &from); - DcaTxop *CreateDca (void) const; + DcaTxop *CreateDca (uint32_t minCw, uint32_t maxCw) const; Ptr m_channel; WifiPhy *m_phy;