diff --git a/src/simulator/simulator.cc b/src/simulator/simulator.cc index f3af0e24e..ad3f3d6d7 100644 --- a/src/simulator/simulator.cc +++ b/src/simulator/simulator.cc @@ -141,7 +141,7 @@ SimulatorPrivate::next (void) const { assert (!m_events->is_empty ()); Scheduler::EventKey next_key = m_events->peek_next_key (); - return AbsTimeUs (next_key.m_ns); + return Time::abs_ns (next_key.m_ns); } diff --git a/src/simulator/time.cc b/src/simulator/time.cc index d1510e166..afa540d90 100644 --- a/src/simulator/time.cc +++ b/src/simulator/time.cc @@ -114,6 +114,33 @@ Time::destroy (void) return Time (); } +class AbsTimeS : public Time { +public: + AbsTimeS (double s); +}; +class AbsTimeUs : public Time { +public: + AbsTimeUs (uint64_t us); +}; +class RelTimeS : public Time { +public: + RelTimeS (double s); +}; +class RelTimeUs : public Time { +public: + RelTimeUs (uint64_t us); +}; + +class NowTime : public Time { +public: + NowTime (); +}; + +class DestroyTime : public Time { +public: + DestroyTime (); +}; + AbsTimeS::AbsTimeS (double s) : Time ((uint64_t)(int64_t)(s * 1000000000.0)) diff --git a/src/simulator/time.h b/src/simulator/time.h index 9ff374b7d..f7632cf23 100644 --- a/src/simulator/time.h +++ b/src/simulator/time.h @@ -49,32 +49,6 @@ private: bool m_is_destroy; }; -class AbsTimeS : public Time { -public: - AbsTimeS (double s); -}; -class AbsTimeUs : public Time { -public: - AbsTimeUs (uint64_t us); -}; -class RelTimeS : public Time { -public: - RelTimeS (double s); -}; -class RelTimeUs : public Time { -public: - RelTimeUs (uint64_t us); -}; - -class NowTime : public Time { -public: - NowTime (); -}; - -class DestroyTime : public Time { -public: - DestroyTime (); -}; }; // namespace ns3 diff --git a/utils/bench-simulator.cc b/utils/bench-simulator.cc index c2c28081d..aa7085fdc 100644 --- a/utils/bench-simulator.cc +++ b/utils/bench-simulator.cc @@ -55,8 +55,8 @@ Bench::read_distribution (std::istream &input) double data; while (!input.eof ()) { if (input >> data) { - uint64_t us = (uint64_t) (data * 1000000); - m_distribution.push_back (us); + uint64_t ns = (uint64_t) (data * 1000000000); + m_distribution.push_back (ns); } else { input.clear (); std::string line; @@ -73,7 +73,7 @@ Bench::bench (void) time.start (); for (std::vector::const_iterator i = m_distribution.begin (); i != m_distribution.end (); i++) { - Simulator::schedule (AbsTimeUs (*i), &Bench::cb, this); + Simulator::schedule (Time::abs_ns (*i), &Bench::cb, this); } init = time.end (); @@ -103,9 +103,9 @@ Bench::cb (void) m_current = m_distribution.begin (); } if (g_debug) { - std::cerr << "event at " << Simulator::now ().s () << std::endl; + std::cerr << "event at " << Simulator::now ().s () << "s" << std::endl; } - Simulator::schedule (AbsTimeUs (*m_current), &Bench::cb, this); + Simulator::schedule (Time::abs_ns (*m_current), &Bench::cb, this); m_current++; m_n++; }