pub struct CadenceTracker { /* private fields */ }Expand description
Tracks turn counts and elapsed time against the configured cadences.
Implementations§
Source§impl CadenceTracker
impl CadenceTracker
Sourcepub fn new(config: &MemoryRuntimeConfig, now: DateTime<Utc>) -> Self
pub fn new(config: &MemoryRuntimeConfig, now: DateTime<Utc>) -> Self
Start tracking from now.
Sourcepub fn total_turns(&self) -> u64
pub fn total_turns(&self) -> u64
Turns completed in this logical session.
Sourcepub fn touch(&mut self, now: DateTime<Utc>)
pub fn touch(&mut self, now: DateTime<Utc>)
Record activity without completing a turn — this defers idle sealing.
Sourcepub fn on_turn_complete(&mut self, now: DateTime<Utc>) -> Vec<ScheduledWork>
pub fn on_turn_complete(&mut self, now: DateTime<Utc>) -> Vec<ScheduledWork>
Record a completed user turn and report what is now due.
Checkpoint implies micro-reconciliation, so only the larger unit is reported when both come due on the same turn.
Sourcepub fn is_idle(&self, now: DateTime<Utc>) -> bool
pub fn is_idle(&self, now: DateTime<Utc>) -> bool
Whether the session has been idle long enough to seal.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CadenceTracker
impl RefUnwindSafe for CadenceTracker
impl Send for CadenceTracker
impl Sync for CadenceTracker
impl Unpin for CadenceTracker
impl UnwindSafe for CadenceTracker
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
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].