Expand description
IPC protocol types and message envelopes for workspace communication.
This module defines transport-level envelopes and streaming controls. It intentionally avoids embedding business logic; services should delegate to external modules for actual work.
Structs§
- Cancel
- Request cancellation for a given id.
- Client
Info - Event
- Events are server-initiated notifications (e.g.,
child_exit,permission_changed). - Hello
- Authentication handshake payload.
- Hello
Err - HelloOk
- Method
Id - A compact method identifier (service + method).
- Request
- Request envelope. The
methodis a typed identifier, andargsis a postcard-encoded payload for the method. - Response
- Response envelope. Either ok with a postcard-encoded result or error with a message/code.
- RpcError
Enums§
- Event
Topic - Message
- Top-level message envelope for framed transport.
- Stream
Control - Stream controls for large flows.
- Stream
Kind
Constants§
- IO_
NETWORK_ BLOB_ THRESHOLD_ BYTES - When payloads are larger than this threshold, prefer blob-backed flows.
- RPC_
ERROR_ CODE_ CANCELLED - RPC_
ERROR_ CODE_ CAPABILITY_ DENIED - RPC_
ERROR_ CODE_ INTERNAL - RPC_
ERROR_ CODE_ NOT_ IMPLEMENTED - RPC_
ERROR_ CODE_ RATE_ LIMITED - RPC_
ERROR_ CODE_ UNAUTHORIZED - Standard RPC error codes used across the IPC boundary.
- STREAM_
CONTROL_ PLANE_ CHUNK_ BYTES - Default chunk size used for control-plane streaming via
StreamControl::Next.
Traits§
- RpcService
- Typed service API marker to allow compile-time mapping between Rust methods and
MethodId.