struct ShellControllerInner {
proc_status: String,
proc_exit_code: i32,
status_version: i32,
conn_name: String,
input_tx: Option<Sender<BlockInputUnion>>,
input_rx: Option<Receiver<BlockInputUnion>>,
child_pid: Option<u32>,
spawn_ts_ms: Option<i64>,
last_pty_output: Option<Instant>,
is_agent_pane: bool,
input_seq_next: u64,
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<Sender<BlockInputUnion>>Input channel sender (sends to the PTY input loop).
input_rx: Option<Receiver<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().
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).
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 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
Mutably borrows from an owned value. Read more
§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>
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.§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.§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.§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.