pub(super) struct ShellControllerInner {Show 14 fields
pub(super) proc_status: String,
pub(super) proc_exit_code: i32,
pub(super) status_version: i32,
pub(super) conn_name: String,
pub(super) input_tx: Option<UnboundedSender<BlockInputUnion>>,
pub(super) input_rx: Option<UnboundedReceiver<BlockInputUnion>>,
pub(super) child_pid: Option<u32>,
pub(super) shell_name: String,
pub(super) spawn_ts_ms: Option<i64>,
pub(super) last_pty_output: Option<Instant>,
pub(super) is_agent_pane: bool,
pub(super) agent_id: Option<String>,
pub(super) input_seq_next: u64,
pub(super) input_seq_buf: BTreeMap<u64, BlockInputUnion>,
}Fields§
§proc_status: StringCurrent process status.
proc_exit_code: i32Process exit code.
status_version: i32Status version counter (incremented on each change).
conn_name: StringConnection name for the shell process.
input_tx: Option<UnboundedSender<BlockInputUnion>>Input channel sender (sends to the PTY input loop). Unbounded so input
is never dropped on burst — see SHELL_INPUT_CH_SIZE doc.
input_rx: Option<UnboundedReceiver<BlockInputUnion>>Input channel receiver (consumed by the PTY input loop).
child_pid: Option<u32>OS PID of the running child process, kept for signal delivery in stop().
shell_name: StringProgram name of that child (pwsh, bash, …), for the Shell drawer’s
info line. Empty until the first spawn.
spawn_ts_ms: Option<i64>Unix timestamp (ms) when the process was spawned; None until first spawn.
last_pty_output: Option<Instant>Monotonic instant of the most recent PTY read; None until first output.
is_agent_pane: boolTrue if this pane is running an agent CLI (e.g. claude).
agent_id: Option<String>This pane’s own jekt/muxbus identity, captured once at spawn time
from resolve_agent_id_for_jekt (see that fn’s doc comment) — the
independent source of truth Controller::agent_id() exposes for
inject_message_inner’s recipient-identity check. None for a
plain (non-agent) terminal pane.
input_seq_next: u64Next expected input seq number (per-TermViewModel monotonic counter).
input_seq_buf: BTreeMap<u64, BlockInputUnion>Out-of-order input packets waiting for their seq slot (capped at SHELL_INPUT_CH_SIZE).
Auto Trait Implementations§
impl Freeze for ShellControllerInner
impl RefUnwindSafe for ShellControllerInner
impl Send for ShellControllerInner
impl Sync for ShellControllerInner
impl Unpin for ShellControllerInner
impl UnsafeUnpin for ShellControllerInner
impl UnwindSafe for ShellControllerInner
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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.§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.§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.§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.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
§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> ⓘ
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> ⓘ
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