From eb416a364b2b602a2aebfb0694815eb0496e278b Mon Sep 17 00:00:00 2001 From: Raj Bhattacharjea Date: Thu, 22 Jan 2009 14:12:56 -0500 Subject: [PATCH] Mathieu's patch: update users of GetSingleValue --- src/devices/csma/backoff.cc | 4 ++-- src/devices/csma/backoff.h | 3 ++- src/devices/wifi/random-stream.cc | 8 +++----- src/devices/wifi/random-stream.h | 4 ++-- src/mobility/random-direction-2d-mobility-model.cc | 4 ++-- src/mobility/random-direction-2d-mobility-model.h | 1 + 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/devices/csma/backoff.cc b/src/devices/csma/backoff.cc index d76654320..08c4cd13e 100644 --- a/src/devices/csma/backoff.cc +++ b/src/devices/csma/backoff.cc @@ -40,6 +40,7 @@ Backoff::Backoff(Time slotTime, uint32_t minSlots, uint32_t maxSlots, uint32_t c m_maxSlots = maxSlots; m_ceiling = ceiling; m_maxRetries = maxRetries; + m_rng = UniformVariable (); } Time @@ -64,8 +65,7 @@ Backoff::GetBackoffTime (void) maxSlot = m_maxSlots; } - UniformVariable rng; - uint32_t backoffSlots = (uint32_t)rng.GetValue(minSlot, maxSlot); + uint32_t backoffSlots = (uint32_t)m_rng.GetValue(minSlot, maxSlot); backoff = Scalar(backoffSlots) * m_slotTime; return (backoff); diff --git a/src/devices/csma/backoff.h b/src/devices/csma/backoff.h index d15de4452..ad78cc7e9 100644 --- a/src/devices/csma/backoff.h +++ b/src/devices/csma/backoff.h @@ -93,9 +93,10 @@ private: * Number of times that the transmitter has tried to unsuccessfully transmit the current packet. */ uint32_t m_numBackoffRetries; + UniformVariable m_rng; }; -}; // namespace ns3 +} // namespace ns3 #endif // BACKOFF_H diff --git a/src/devices/wifi/random-stream.cc b/src/devices/wifi/random-stream.cc index c498302c6..1a4229d88 100644 --- a/src/devices/wifi/random-stream.cc +++ b/src/devices/wifi/random-stream.cc @@ -18,7 +18,6 @@ * Author: Mathieu Lacage */ #include "random-stream.h" -#include "ns3/rng-stream.h" #include "ns3/assert.h" namespace ns3 { @@ -28,13 +27,12 @@ RandomStream::~RandomStream () RealRandomStream::RealRandomStream () -{ - m_stream.InitializeStream(); -} + : m_stream (UniformVariable ()) +{} uint32_t RealRandomStream::GetNext (uint32_t min, uint32_t max) { - return m_stream.RandInt (min, max); + return m_stream.GetValue (min, max); } diff --git a/src/devices/wifi/random-stream.h b/src/devices/wifi/random-stream.h index eae2a6d79..2a3335485 100644 --- a/src/devices/wifi/random-stream.h +++ b/src/devices/wifi/random-stream.h @@ -22,7 +22,7 @@ #include #include -#include "ns3/rng-stream.h" +#include "ns3/random-variable.h" namespace ns3 { @@ -43,7 +43,7 @@ public: RealRandomStream (); virtual uint32_t GetNext (uint32_t min, uint32_t max); private: - RngStream m_stream; + UniformVariable m_stream; }; class TestRandomStream : public RandomStream diff --git a/src/mobility/random-direction-2d-mobility-model.cc b/src/mobility/random-direction-2d-mobility-model.cc index 83ed2bbf4..d11312cc6 100644 --- a/src/mobility/random-direction-2d-mobility-model.cc +++ b/src/mobility/random-direction-2d-mobility-model.cc @@ -69,7 +69,7 @@ RandomDirection2dMobilityModel::DoDispose (void) void RandomDirection2dMobilityModel::Start (void) { - double direction = UniformVariable().GetValue (0, 2 * PI); + double direction = m_direction.GetValue (0, 2 * PI); SetDirectionAndSpeed (direction); } @@ -104,7 +104,7 @@ RandomDirection2dMobilityModel::SetDirectionAndSpeed (double direction) void RandomDirection2dMobilityModel::ResetDirectionAndSpeed (void) { - double direction = UniformVariable().GetValue (0, PI); + double direction = m_direction.GetValue (0, PI); m_helper.UpdateWithBounds (m_bounds); Vector position = m_helper.GetCurrentPosition (); diff --git a/src/mobility/random-direction-2d-mobility-model.h b/src/mobility/random-direction-2d-mobility-model.h index 8c8621ace..68d6ab8b0 100644 --- a/src/mobility/random-direction-2d-mobility-model.h +++ b/src/mobility/random-direction-2d-mobility-model.h @@ -58,6 +58,7 @@ class RandomDirection2dMobilityModel : public MobilityModel virtual Vector DoGetVelocity (void) const; static const double PI; + UniformVariable m_direction; Rectangle m_bounds; RandomVariable m_speed; RandomVariable m_pause;