pub struct ExecSpec {
pub program: String,
pub args: Vec<String>,
pub envelope: Envelope,
}Expand description
The wire request + the three delivery facts it carries (wire.rs): the HTTP
Method, the subprocess ExecSpec, and the Envelope its pipes carry.
A subprocess target a WireRequest may name instead of an HTTP one
(claude-code spec §3.1): the native transport spawns program args…, writes
wire.body to the child’s stdin, and streams the child’s stdout as the response
body. Data on the one struct already crossing the transport seam — like
Method/Timeouts, never a new send parameter. Envelope says what the
child’s pipes CARRY, which is the only thing the two subprocess uses differ in.
Fields§
§program: String§args: Vec<String>§envelope: EnvelopeTrait Implementations§
impl StructuralPartialEq for ExecSpec
Auto Trait Implementations§
impl Freeze for ExecSpec
impl RefUnwindSafe for ExecSpec
impl Send for ExecSpec
impl Sync for ExecSpec
impl Unpin for ExecSpec
impl UnsafeUnpin for ExecSpec
impl UnwindSafe for ExecSpec
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