pub struct PhaseTimer { /* private fields */ }Expand description
Wall-clock anchor for the active phase. Holds only the anchor
Instant; queries take the relevant Duration as a parameter.
crate::app::SessionRunner composes the timer with the state
machine and crate::core::ConversationConfig durations.
Implementations§
Source§impl PhaseTimer
impl PhaseTimer
pub fn new() -> Self
Sourcepub fn start(&mut self)
pub fn start(&mut self)
Anchor the timer at “now”. Called by the orchestrator when entering a phase whose timeout matters (PendingJoin, Freezing, on first approved proposal in Working).
Sourcepub fn clear(&mut self)
pub fn clear(&mut self)
Drop the anchor. Called by the orchestrator when leaving a time-bounded phase.
pub fn started_at(&self) -> Option<Instant>
Sourcepub fn elapsed_since_anchor(&self, duration: Duration) -> bool
pub fn elapsed_since_anchor(&self, duration: Duration) -> bool
false when no anchor is set. Caller is responsible for state
guarding and for choosing the right duration for the current phase.
Trait Implementations§
Source§impl Clone for PhaseTimer
impl Clone for PhaseTimer
Source§fn clone(&self) -> PhaseTimer
fn clone(&self) -> PhaseTimer
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PhaseTimer
impl Debug for PhaseTimer
Source§impl Default for PhaseTimer
impl Default for PhaseTimer
Source§fn default() -> PhaseTimer
fn default() -> PhaseTimer
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for PhaseTimer
impl RefUnwindSafe for PhaseTimer
impl Send for PhaseTimer
impl Sync for PhaseTimer
impl Unpin for PhaseTimer
impl UnsafeUnpin for PhaseTimer
impl UnwindSafe for PhaseTimer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more