pub struct SessionMeta {Show 24 fields
pub id: SessionId,
pub name: Option<String>,
pub model: String,
pub cwd: Option<PathBuf>,
pub created_at: DateTime<Utc>,
pub continued: bool,
pub continue_info: Option<ContinueInfoWire>,
pub host_pid: u32,
pub lifecycle: SessionLifecycle,
pub clients: usize,
pub input_owner: Option<ClientId>,
pub awaiting_input: usize,
pub roster: Vec<ClientInfo>,
pub client_input: Option<ClientInput>,
pub journal_id: String,
pub locked_by: Option<String>,
pub pinned: bool,
pub busy: bool,
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,
}Fields§
§id: SessionId§name: Option<String>§model: String§cwd: Option<PathBuf>§created_at: DateTime<Utc>§continued: bool§continue_info: Option<ContinueInfoWire>§host_pid: u32Daemon pid (in-process: this process).
lifecycle: SessionLifecycle§clients: usize§input_owner: Option<ClientId>§awaiting_input: usize§roster: Vec<ClientInfo>Every attached client, named. Empty from an older daemon.
client_input: Option<ClientInput>Who may drive (ClientInput); None from an older daemon (which
enforces the owner: Exclusive). With Shared, input_owner is the
active client, not the only one that may type.
journal_id: Stringconv.session.id — differs from id after a LinkedSuccessor compaction.
locked_by: Option<String>Set when the session’s journal is locked by another process (F23):
"pid N (kind)". Shown in daemon sessions; cleared on unpark.
pinned: boolPinned (KeepWarm{on}, /pin): never parked, never idle-ended, and
the daemon does not idle-exit while it is set. An older daemon omits
it (→ false); an older client ignores it.
busy: boolA turn or a compaction is running.
state_since: Option<DateTime<Utc>>When the session entered its current state (turn/compaction start, idle start, park time).
park_due: Option<DateTime<Utc>>When the idle park fires (Live, zero clients, grace armed). None
when not armed — a worker re-check is not a park due.
evict_due: Option<DateTime<Utc>>When a Parked session is evicted; None if not parked or never.
title: Option<String>The live conversation’s title, as of the last publish.
cost_usd: f64Session cost in USD, as of the last publish.
messages: usizeAPI message count, as of the last publish.
Trait Implementations§
Source§impl Clone for SessionMeta
impl Clone for SessionMeta
Source§impl Debug for SessionMeta
impl Debug for SessionMeta
Source§impl<'de> Deserialize<'de> for SessionMeta
impl<'de> Deserialize<'de> for SessionMeta
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for SessionMeta
impl RefUnwindSafe for SessionMeta
impl Send for SessionMeta
impl Sync for SessionMeta
impl Unpin for SessionMeta
impl UnsafeUnpin for SessionMeta
impl UnwindSafe for SessionMeta
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>
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>
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)
&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)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.