Skip to content

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