Classes | |
class | CustomClock |
Class implementing custom system or steady clock behavior. More... | |
class | steady_clock |
Steady clock. More... | |
class | system_clock |
System clock. More... | |
class | UnitTestClock |
Clock that can be used in unit tests for time-dependent tests independent of wall clock. More... | |
class | UnitTestClockTraits |
Traits for UnitTestClock, defining default behavior for different clocks. More... | |
class | UnitTestClockTraits< system_clock > |
Specialization of UnitTestClockTraits for system_clock. More... | |
Typedefs | |
using | CustomSystemClock = CustomClock< system_clock > |
using | CustomSteadyClock = CustomClock< steady_clock > |
using | UnitTestSystemClock = UnitTestClock< system_clock > |
using | UnitTestSteadyClock = UnitTestClock< steady_clock > |
typedef boost::chrono::steady_clock | base_steady_clock |
using | days = duration< int_fast32_t, boost::ratio< 86400 > > |
Functions | |
void | setCustomClocks (shared_ptr< CustomSteadyClock > steadyClock=nullptr, shared_ptr< CustomSystemClock > systemClock=nullptr) |
Set custom system and steady clocks. More... | |
const system_clock::TimePoint & | getUnixEpoch () |
Get system_clock::TimePoint representing UNIX time epoch (00:00:00 on Jan 1, 1970) More... | |
milliseconds | toUnixTimestamp (const system_clock::TimePoint &point) |
Convert system_clock::TimePoint to UNIX timestamp. More... | |
system_clock::TimePoint | fromUnixTimestamp (milliseconds duration) |
Convert UNIX timestamp to system_clock::TimePoint. More... | |
static boost::posix_time::ptime | convertToPosixTime (const system_clock::TimePoint &timePoint) |
std::string | toIsoString (const system_clock::TimePoint &timePoint) |
Convert to the ISO string representation of the time (YYYYMMDDTHHMMSS,fffffffff) More... | |
static system_clock::TimePoint | convertToTimePoint (const boost::posix_time::ptime &ptime) |
system_clock::TimePoint | fromIsoString (const std::string &isoString) |
Convert from the ISO string (YYYYMMDDTHHMMSS,fffffffff) representation to the internal time format. More... | |
std::string | toString (const system_clock::TimePoint &timePoint, const std::string &format="%Y-%m-%d %H:%M:%S", const std::locale &locale=std::locale("C")) |
Convert time point to string with specified format. More... | |
system_clock::TimePoint | fromString (const std::string &timePointStr, const std::string &format="%Y-%m-%d %H:%M:%S", const std::locale &locale=std::locale("C")) |
Convert from string of specified format into time point. More... | |
template<typename Rep , typename Period , typename = std::enable_if_t<std::numeric_limits<Rep>::is_signed>> | |
constexpr duration< Rep, Period > | abs (duration< Rep, Period > d) |
Variables | |
static shared_ptr< CustomSystemClock > | g_systemClock |
static shared_ptr< CustomSteadyClock > | g_steadyClock |
using ndn::time::CustomSystemClock = typedef CustomClock<system_clock> |
Definition at line 53 of file time-custom-clock.hpp.
using ndn::time::CustomSteadyClock = typedef CustomClock<steady_clock> |
Definition at line 54 of file time-custom-clock.hpp.
using ndn::time::UnitTestSystemClock = typedef UnitTestClock<system_clock> |
Definition at line 108 of file time-unit-test-clock.hpp.
using ndn::time::UnitTestSteadyClock = typedef UnitTestClock<steady_clock> |
Definition at line 109 of file time-unit-test-clock.hpp.
typedef boost::chrono::steady_clock ndn::time::base_steady_clock |
using ndn::time::days = typedef duration<int_fast32_t, boost::ratio<86400> > |
void ndn::time::setCustomClocks | ( | shared_ptr< CustomSteadyClock > | steadyClock = nullptr , |
shared_ptr< CustomSystemClock > | systemClock = nullptr |
||
) |
Set custom system and steady clocks.
When steadyClock
or systemClock
set to nullptr, the default implementation of the corresponding clock will be used
Definition at line 36 of file time.cpp.
References g_steadyClock, g_systemClock, and nonstd::optional_lite::std11::move().
Referenced by ns3::ndn::StackHelper::setCustomNdnCxxClocks().
const system_clock::TimePoint & ndn::time::getUnixEpoch | ( | ) |
Get system_clock::TimePoint representing UNIX time epoch (00:00:00 on Jan 1, 1970)
Definition at line 106 of file time.cpp.
Referenced by convertToPosixTime(), ndn::name::Component::fromTimestamp(), fromUnixTimestamp(), ndn::name::Component::toTimestamp(), and toUnixTimestamp().
milliseconds ndn::time::toUnixTimestamp | ( | const system_clock::TimePoint & | point | ) |
Convert system_clock::TimePoint to UNIX timestamp.
Definition at line 113 of file time.cpp.
References getUnixEpoch().
Referenced by ndn::Name::appendVersion(), ndn::security::CommandInterestPreparer::prepareCommandInterestName(), ndn::PrefixAnnouncement::toData(), and ndn::nfd::ForwarderStatus::wireEncode().
system_clock::TimePoint ndn::time::fromUnixTimestamp | ( | milliseconds | duration | ) |
Convert UNIX timestamp to system_clock::TimePoint.
Definition at line 119 of file time.cpp.
References getUnixEpoch().
Referenced by ndn::nfd::ForwarderStatus::wireDecode().
|
static |
Definition at line 125 of file time.cpp.
References getUnixEpoch().
Referenced by toIsoString(), and toString().
std::string ndn::time::toIsoString | ( | const system_clock::TimePoint & | timePoint | ) |
Convert to the ISO string representation of the time (YYYYMMDDTHHMMSS,fffffffff)
If timePoint
contains doesn't contain fractional seconds, the output format is YYYYMMDDTHHMMSS
Examples:
Definition at line 145 of file time.cpp.
References convertToPosixTime().
Referenced by ndn::security::v2::CertificateCache::insert(), ndn::security::v2::operator<<(), ndn::security::operator<<(), and ndn::security::ValidityPeriod::wireEncode().
|
static |
Definition at line 151 of file time.cpp.
Referenced by fromIsoString(), and fromString().
system_clock::TimePoint ndn::time::fromIsoString | ( | const std::string & | isoString | ) |
Convert from the ISO string (YYYYMMDDTHHMMSS,fffffffff) representation to the internal time format.
Examples of accepted ISO strings:
Definition at line 164 of file time.cpp.
References convertToTimePoint().
Referenced by ndn::security::ValidityPeriod::wireDecode().
std::string ndn::time::toString | ( | const system_clock::TimePoint & | timePoint, |
const std::string & | format = "%Y-%m-%d %H:%M:%S" , |
||
const std::locale & | locale = std::locale("C") |
||
) |
Convert time point to string with specified format.
By default, Y-m-d H:M:S
is used, producing dates like 2014-04-10 22:51:00
timePoint | time point of system_clock |
format | desired output format (default: Y-m-d H:M:S ) |
locale | desired locale (default: "C" locale) |
Definition at line 170 of file time.cpp.
References convertToPosixTime().
system_clock::TimePoint ndn::time::fromString | ( | const std::string & | timePointStr, |
const std::string & | format = "%Y-%m-%d %H:%M:%S" , |
||
const std::locale & | locale = std::locale("C") |
||
) |
Convert from string of specified format into time point.
By default, Y-m-d H:M:S
is used, accepting dates like 2014-04-10 22:51:00
timePointStr | string representing time point |
format | input output format (default: Y-m-d H:M:S ) |
locale | input locale (default: "C" locale) |
Definition at line 185 of file time.cpp.
References convertToTimePoint().
|
constexpr |
Definition at line 50 of file time.hpp.
Referenced by ndn::util::RttEstimator::addMeasurement(), and ns3::AnnotatedTopologyReader::Read().
|
static |
Definition at line 31 of file time.cpp.
Referenced by ndn::time::system_clock::now(), setCustomClocks(), and boost::chrono::clock_string< ndn::time::system_clock, CharT >::since().
|
static |
Definition at line 32 of file time.cpp.
Referenced by ndn::time::steady_clock::now(), setCustomClocks(), and boost::chrono::clock_string< ndn::time::steady_clock, CharT >::since().