NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.3: NDN, CCN, CCNx, content centric networks
API Documentation
time-unit-test-clock.hpp
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
22 #ifndef NDN_TIME_UNIT_TEST_CLOCK_HPP
23 #define NDN_TIME_UNIT_TEST_CLOCK_HPP
24 
25 #include "time-custom-clock.hpp"
26 
27 namespace ndn {
28 namespace time {
29 
36 template<class BaseClock>
38 {
39 public:
40  static nanoseconds
42  {
43  return nanoseconds::zero();
44  }
45 };
46 
53 template<>
55 {
56 public:
57  static nanoseconds
59  {
60  return seconds(1415684132);
61  }
62 };
63 
72 template<class BaseClock>
73 class UnitTestClock : public CustomClock<BaseClock>
74 {
75 public:
76  explicit
78 
82  void
83  advance(const nanoseconds& duration);
84 
88  void
89  setNow(const nanoseconds& timeSinceEpoch);
90 
91 public: // CustomClock<BaseClock>
92  virtual std::string
93  getSince() const override;
94 
95  virtual typename BaseClock::time_point
96  getNow() const override;
97 
98  virtual boost::posix_time::time_duration
99  toPosixDuration(const typename BaseClock::duration& duration) const override;
100 
101 private:
102  nanoseconds m_currentTime;
103 };
104 
107 
108 } // namespace time
109 } // namespace ndn
110 
111 #endif // NDN_TIME_UNIT_TEST_CLOCK_HPP
Copyright (c) 2011-2015 Regents of the University of California.
UnitTestClock< system_clock > UnitTestSystemClock
Class implementing custom system or steady clock behavior.
Clock that can be used in unit tests for time-dependent tests independent of wall clock...
System clock.
Definition: time.hpp:81
UnitTestClock< steady_clock > UnitTestSteadyClock
static nanoseconds getDefaultStartTime()
Traits for UnitTestClock, defining default behavior for different clocks.