ludus::foundation::time::Deadline¶
Ludus Wiki · API overview · Browse API
Class
A real-time timeout, not a gameplay tick deadline.
Zero delay is immediately expired. An inactive flag distinguishes cancellation from deadline zero. Arm failure preserves the previous deadline. Expiration does not disarm it.
Declared in modules/foundation/time/include/ludus/foundation/time/timers.hpp
#include <ludus/foundation/time/timers.hpp>
class ludus::foundation::time::Deadline final
Methods¶
Arm¶
TimeStatus ludus::foundation::time::Deadline::Arm(Timestamp now, Duration delay) noexcept
Set the due timestamp to now plus delay; Overflow preserves the previous deadline.
Related types: TimeStatus · Duration · Timestamp
Declared in modules/foundation/time/include/ludus/foundation/time/timers.hpp
Cancel¶
void ludus::foundation::time::Deadline::Cancel() noexcept
Disarm the timeout; retain the stored due timestamp.
Declared in modules/foundation/time/include/ludus/foundation/time/timers.hpp
IsArmed¶
bool ludus::foundation::time::Deadline::IsArmed() const noexcept
Whether Arm succeeded more recently than Cancel.
Declared in modules/foundation/time/include/ludus/foundation/time/timers.hpp
IsExpired¶
bool ludus::foundation::time::Deadline::IsExpired(Timestamp now) const noexcept
True when armed and now is at or past the due timestamp; does not disarm.
Related types: Timestamp
Declared in modules/foundation/time/include/ludus/foundation/time/timers.hpp
GetDue¶
Timestamp ludus::foundation::time::Deadline::GetDue() const noexcept
Return the stored due timestamp; use IsArmed before interpreting it as an active deadline.
Related types: Timestamp
Declared in modules/foundation/time/include/ludus/foundation/time/timers.hpp