Expand description
The client<->daemon wire protocol (version 1)
Typed request/response enums + bus events. Framing lives in wire;
every type here is snapshot-pinned — changing any serialized shape is a
protocol version bump recorded in the CHANGELOG.
Re-exports§
pub use channel::CHANNEL_VERSION;pub use channel::ChildMessage;pub use channel::ShepherdMessage;pub use events::BusEvent;pub use events::ProcessEventKind;pub use frame::ServerFrame;pub use request::ActionOutcome;pub use request::ActionReply;pub use request::DogSectionToml;pub use request::DogSource;pub use request::Envelope;pub use request::ExitInfo;pub use request::Hello;pub use request::HelloAck;pub use request::HelloReply;pub use request::Lamb;pub use request::LineOutcome;pub use request::LineReply;pub use request::ProcessInfo;pub use request::ProcessInfoBuilder;pub use request::Reply;pub use request::Request;pub use request::Response;pub use request::RpcError;pub use request::RpcErrorCode;pub use request::SelectorSpec;pub use request::SignalOutcome;pub use request::SignalReply;pub use request::Smit;pub use request::SmitError;pub use wire::MAX_FRAME_BYTES;pub use wire::WireError;pub use wire::codec;pub use wire::decode_frame;pub use wire::encode_frame;
Modules§
- channel
- The shepherd channel: the newline-JSON wire carried on fd 3 between the shepherd and each spawned child.
- events
- Bus events broadcast to subscribed clients
- frame
- Anything the daemon writes to a connected client
- request
- RPC frames: requests, responses, envelopes, and structured errors
- wire
- Frame encoding shared by daemon and client Frame encoding: u32 length prefix + JSON payload
Constants§
- PROTOCOL_
VERSION - Wire protocol version.