pub struct SessionState {
pub slot: SessionSlot,
pub scan_cwd: PathBuf,
pub queue: Vec<QueuedPrompt>,
pub voice_listeners: u32,
}Expand description
What a view reads about one session.
Fields§
§slot: SessionSlotThe seat this state belongs to.
scan_cwd: PathBufWhere forge scans git for this session: a git worker’s worktree
path, else the caller’s cwd_raw unchanged.
queue: Vec<QueuedPrompt>The prompts still waiting in the CLI’s queue, oldest first - the pile a client draws.
The same read path: prompt_lifecycle frames speak only on a change,
so a client attaching mid-queue would otherwise draw nothing until the
next prompt moved. Held by the core, so two clients agree.
voice_listeners: u32Clients with voice on for this seat, this one included. A late attach reads the room here rather than waiting for the next toggle.
Implementations§
Source§impl SessionState
impl SessionState
pub(super) fn collect( workspace: &Workspace, slot: &SessionSlot, cwd_raw: &Path, ) -> Self
Auto Trait Implementations§
impl Freeze for SessionState
impl RefUnwindSafe for SessionState
impl Send for SessionState
impl Sync for SessionState
impl Unpin for SessionState
impl UnsafeUnpin for SessionState
impl UnwindSafe for SessionState
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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