157 void set_deadline(int64_t interval) noexcept;
168 void set_deadline_abs(uint64_t abs_deadline) noexcept;
176 void reset() noexcept;
183 [[nodiscard]] uint64_t deadline() const noexcept;
194 [[nodiscard]] int64_t remaining_time() const noexcept;
201 [[nodiscard]]
bool has_expired() const noexcept;
215 [[nodiscard]]
Accuracy get_accuracy() const noexcept;
218 alignas(64) std::atomic<uint64_t> deadline_{0};
Cache-line aligned atomic deadline counter with millisecond / microsecond / nanosecond precision.
Definition: deadline_timer.h:86
DeadlineTimer() noexcept
Constructs an invalid timer with no deadline set.
Atomic high-resolution timer with selectable clock source and unit.
Definition: elapsed_timer.h:95
Accuracy
Precision selector for stored and returned time values.
Definition: elapsed_timer.h:108
@ kMilli
Millisecond precision.
Definition: elapsed_timer.h:109
Lowest-level elapsed-time primitive used by deadline tracking, profilers and task metrics.
Cross-platform macros for visibility, branch hints, copy prevention, singletons and string helpers.
#define VLINK_EXPORT
Definition: macros.h:81
constexpr bool is_valid() noexcept
Definition: name_detector.h:382