ark::pipeline::TimeProvider
Defined in header “ark/pipeline/time_provider.hh”.
A time provider provides a timestamp on behalf of a particular execution environment. The main customer of this is publishers, who use this to time-tag envelopes.
Methods
-
~TimeProvider()
Virtual destructor, for cleanup. -
std::chrono::steady_clock::time_point now()
Provides a timestamp at the current time (either real time or simulated). -
std::chrono::steady_clock::time_point from_monotonic_time(const std::chrono::steady_clock::time_point & monotonic_time)
Translates the given steady_clock time (in system monotonic time frame) to the pipeline time. -
std::optional< std::chrono::steady_clock::time_point > from_monotonic_time_if_possible(const std::chrono::steady_clock::time_point & monotonic_time)
Translates the given steady_clock time (in system monotonic time frame) to the pipeline time, if possible. If not possible, returns an empty optional. -
std::chrono::steady_clock::time_point from_monotonic_time_or_now(const std::chrono::steady_clock::time_point & monotonic_time)
Translates the given steady_clock time (in system monotonic time frame) to the pipeline time, if possible. If not possible, returns the equivalent of now().