pub struct Presence {Show 14 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,
pub owning_client: Option<ClientId>,
}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: usize§owning_client: Option<ClientId>Owned sessions: the client bound as the owner (None while the
session waits for its owner to bind or re-bind). Always None for a
session that is not owned (SessionHandle::is_owned).
Trait Implementations§
impl StructuralPartialEq for Presence
Auto Trait Implementations§
impl Forget for Presence
impl Freeze for Presence
impl Move 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.