pub struct ShellNodeRunner {
pub shell_id: String,
pub block_id: String,
pub cmd: String,
pub title: String,
pub cwd: Option<String>,
pub launch: Option<(String, Vec<String>)>,
pub askpass_secret: Option<String>,
pub extra_env: HashMap<String, String>,
pub broker: Arc<Broker>,
pub registry: Arc<ShellSessionRegistry>,
pub capture_stdin: bool,
}Fields§
§shell_id: String§block_id: String§cmd: String§title: StringCaller-supplied display title, defaulting to cmd — mirrors
handle_shell_create’s own title local, threaded through so
ShellStatusInfo/list_active can show it without a second lookup.
cwd: Option<String>§launch: Option<(String, Vec<String>)>The program and arguments when the command runs elsewhere: wsl.exe
for a WSL distro (remote::wsl::launch), ssh for an SSH host
(remote::ssh::launch_exec). None runs it here through cmd/sh.
askpass_secret: Option<String>The askpass secret of an SSH command (remote::askpass), revoked when
this runner ends, however it ends.
extra_env: HashMap<String, String>§broker: Arc<Broker>§registry: Arc<ShellSessionRegistry>Stop registry — the runner registers its shell_id here so
ShellStop can tree-kill it, and removes itself on natural exit.
capture_stdin: boolIf true, pipe stdin and start the relay task so ShellInput() works.
If false (default), stdin is /dev/null — avoids blocking programs that
read stdin to EOF (e.g. cat with no args).
Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ShellNodeRunner
impl !UnwindSafe for ShellNodeRunner
impl Freeze for ShellNodeRunner
impl Send for ShellNodeRunner
impl Sync for ShellNodeRunner
impl Unpin for ShellNodeRunner
impl UnsafeUnpin for ShellNodeRunner
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