Module protocol

Source
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.
ClientInfo
Event
Events are server-initiated notifications (e.g., child_exit, permission_changed).
Hello
Authentication handshake payload.
HelloErr
HelloOk
MethodId
A compact method identifier (service + method).
Request
Request envelope. The method is a typed identifier, and args is 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§

EventTopic
Message
Top-level message envelope for framed transport.
StreamControl
Stream controls for large flows.
StreamKind

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.