pub struct SpawnDaemonRequest {
pub command: String,
pub cwd: String,
pub env: Vec<KeyValue>,
pub originator: String,
pub clear_inherited_env: bool,
}Fields§
§command: String§cwd: String§env: Vec<KeyValue>Environment variables to apply to the spawned subprocess. Default
behaviour (clear_inherited_env=false) is to LAYER these on top of
the daemon’s own inherited env — the subprocess sees
When clear_inherited_env=true, the subprocess sees ONLY these
entries, nothing inherited from the daemon. This mirrors Python’s
subprocess.Popen(env=…) semantic: env=None (this field empty +
clear_inherited_env=false) inherits, env=<dict> (with
clear_inherited_env=true) replaces.
Ordering: this is repeated KeyValue, not a map, because the
daemon needs to dedup case-insensitively on Windows where Rust’s
Command::env collapses “PATH” and “Path” into one slot. The LAST
entry per case-folded key wins. Using a map here would lose the
ordering protobuf provides and race the dedup against HashMap
iteration order.
Practical note for Windows callers: cmd.exe needs SystemRoot in
its env to load DLLs; when using replace mode on Windows you’ll
typically want to copy SystemRoot (and any other essentials) into
this list yourself.
originator: String§clear_inherited_env: boolTrait Implementations§
Source§impl Clone for SpawnDaemonRequest
impl Clone for SpawnDaemonRequest
Source§fn clone(&self) -> SpawnDaemonRequest
fn clone(&self) -> SpawnDaemonRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SpawnDaemonRequest
impl Debug for SpawnDaemonRequest
Source§impl Default for SpawnDaemonRequest
impl Default for SpawnDaemonRequest
Source§impl Message for SpawnDaemonRequest
impl Message for SpawnDaemonRequest
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for SpawnDaemonRequest
impl PartialEq for SpawnDaemonRequest
Source§fn eq(&self, other: &SpawnDaemonRequest) -> bool
fn eq(&self, other: &SpawnDaemonRequest) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SpawnDaemonRequest
Auto Trait Implementations§
impl Freeze for SpawnDaemonRequest
impl RefUnwindSafe for SpawnDaemonRequest
impl Send for SpawnDaemonRequest
impl Sync for SpawnDaemonRequest
impl Unpin for SpawnDaemonRequest
impl UnsafeUnpin for SpawnDaemonRequest
impl UnwindSafe for SpawnDaemonRequest
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,
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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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