pub enum Kind {
Stdin(Vec<u8>),
StdinEof(bool),
Stdout(Vec<u8>),
Stderr(Vec<u8>),
Exit(SessionExit),
Start(SessionStart),
}Variants§
Stdin(Vec<u8>)
Raw stdin bytes from the client’s terminal toward the daemon’s compiler.
StdinEof(bool)
The client closed stdin; no further stdin frames follow. Distinct from
an empty stdin chunk so the daemon can close the child’s stdin pipe.
Stdout(Vec<u8>)
Raw stdout bytes from the compile (artifacts), verbatim.
Stderr(Vec<u8>)
Raw stderr bytes from the compile (diagnostics), verbatim.
Exit(SessionExit)
Terminal frame: the compile ended. No further frames follow for this session in either direction.
Start(SessionStart)
The mandatory FIRST frame client -> daemon: names the command to run for
this session (added in a later Phase-3 slice; a session must open with
exactly one start before any stdin). The daemon builds the compiler
process from it, then proxies stdio as above.
Implementations§
Source§impl Kind
impl Kind
Sourcepub fn merge(
field: &mut Option<Kind>,
tag: u32,
wire_type: WireType,
buf: &mut impl Buf,
ctx: DecodeContext,
) -> Result<(), DecodeError>
pub fn merge( field: &mut Option<Kind>, tag: u32, wire_type: WireType, buf: &mut impl Buf, ctx: DecodeContext, ) -> Result<(), DecodeError>
Decodes an instance of the message from a buffer, and merges it into self.
Sourcepub fn encoded_len(&self) -> usize
pub fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.