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().