pub struct Presence {Show 13 fields
pub clients: usize,
pub input_owner: Option<ClientId>,
pub awaiting_input: usize,
pub roster: Vec<ClientInfo>,
pub client_input: Option<ClientInput>,
pub busy: bool,
pub state: PresenceState,
pub state_since: Option<DateTime<Utc>>,
pub park_due: Option<DateTime<Utc>>,
pub evict_due: Option<DateTime<Utc>>,
pub title: Option<String>,
pub cost_usd: f64,
pub messages: usize,
}Expand description
Live client accounting published by the actor (B4 sessions() listing).
Fields§
§clients: usize§input_owner: Option<ClientId>§awaiting_input: usize§roster: Vec<ClientInfo>Every attached client, named (synaps daemon sessions).
client_input: Option<ClientInput>Who may drive (None until the actor publishes).
busy: boolA turn or a compaction is running.
state: PresenceStateWhat state_since dates (idle / busy / parked): a publish that
changes it restamps state_since.
state_since: Option<DateTime<Utc>>§park_due: Option<DateTime<Utc>>Wall-clock idle park (Live, zero clients, grace armed).
evict_due: Option<DateTime<Utc>>Wall-clock eviction of a Parked session.
title: Option<String>Conversation title / cost / api message count. Kept as last seen while Parked (no conversation in memory).
cost_usd: f64§messages: usizeTrait Implementations§
impl StructuralPartialEq for Presence
Auto Trait Implementations§
impl Freeze for Presence
impl RefUnwindSafe for Presence
impl Send for Presence
impl Sync for Presence
impl Unpin for Presence
impl UnsafeUnpin for Presence
impl UnwindSafe for Presence
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.