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 ==.