pub struct SessionStart {
pub program: String,
pub args: Vec<String>,
pub cwd: String,
pub env: Vec<SessionEnvVar>,
pub clear_inherited_env: bool,
pub environment_policy: i32,
}Expand description
The command a compile session runs, carried on the session’s opening start
frame. environment_policy selects the base; env is then applied in
order (repeated, not a map) so key-case collisions resolve deterministically
the way std::process::Command::env does.
Fields§
§program: String§args: Vec<String>§cwd: String§env: Vec<SessionEnvVar>§clear_inherited_env: boolDeprecated compatibility field. New clients dual-write it for old servers.
environment_policy: i32Implementations§
Source§impl SessionStart
impl SessionStart
Sourcepub fn environment_policy(&self) -> EnvironmentPolicy
pub fn environment_policy(&self) -> EnvironmentPolicy
Returns the enum value of environment_policy, or the default if the field is set to an invalid enum value.
Sourcepub fn set_environment_policy(&mut self, value: EnvironmentPolicy)
pub fn set_environment_policy(&mut self, value: EnvironmentPolicy)
Sets environment_policy to the provided enum value.
Source§impl SessionStart
impl SessionStart
Sourcepub fn from_current_process(
program: impl Into<String>,
args: impl IntoIterator<Item = impl Into<String>>,
cwd: impl Into<String>,
) -> SessionStart
pub fn from_current_process( program: impl Into<String>, args: impl IntoIterator<Item = impl Into<String>>, cwd: impl Into<String>, ) -> SessionStart
Build a contained SESSION request from the caller’s current process context. Only Unicode environment entries are representable by the protobuf string vocabulary.
Sourcepub fn with_environment_policy(
self,
policy: impl SessionStartEnvironmentPolicy,
) -> SessionStart
pub fn with_environment_policy( self, policy: impl SessionStartEnvironmentPolicy, ) -> SessionStart
Select the base environment for this contained session.
This stays inherent on the generated protocol type so existing downstream calls do not need to import an extension trait after the generated definitions moved into this crate.
Trait Implementations§
Source§impl Clone for SessionStart
impl Clone for SessionStart
Source§fn clone(&self) -> SessionStart
fn clone(&self) -> SessionStart
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 SessionStart
impl Debug for SessionStart
Source§impl Default for SessionStart
impl Default for SessionStart
Source§fn default() -> SessionStart
fn default() -> SessionStart
Source§impl Message for SessionStart
impl Message for SessionStart
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 SessionStart
impl PartialEq for SessionStart
impl StructuralPartialEq for SessionStart
Auto Trait Implementations§
impl Freeze for SessionStart
impl RefUnwindSafe for SessionStart
impl Send for SessionStart
impl Sync for SessionStart
impl Unpin for SessionStart
impl UnsafeUnpin for SessionStart
impl UnwindSafe for SessionStart
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