Expand description
IPC bus protocol, postcard framing, and BusServer/BusClient for PDS.
The central nervous system of the Programmable Desktop Suite. All inter-daemon communication uses postcard-encoded frames over Unix domain sockets.
Wire format: [4-byte BE length][postcard(Message<EventKind>)]
Re-exports§
pub use noise::NoiseTransport;pub use noise::ZeroizingKeypair;pub use noise::generate_keypair;pub use registry::ClearanceRegistry;
Modules§
- noise
- Noise IK encrypted IPC transport (ADR-SEC-006).
- registry
- Clearance registry: maps daemon names to verified identities and security levels, with O(1) pubkey lookups via a reverse index.
Structs§
- BusClient
- The IPC bus client used by each daemon to communicate on the bus.
- BusServer
- The IPC bus server.
- Confirmation
Guard - RAII guard that deregisters a confirmation route on drop.
- Message
- The IPC bus message envelope wrapping any payload type.
- Message
Context - Context for constructing outbound messages.
- Peer
Credentials - Peer credentials obtained from the transport layer.
- Retry
Config - Retry parameters for initial IPC bus connection.
- Subscription
Filter - Subscription filter for event routing.
Constants§
- WIRE_
VERSION - Current wire format version. Increment on any field addition/removal.
Functions§
- decode_
frame - Deserialize a value from postcard bytes.
- encode_
frame - Serialize a value to postcard bytes.
- extract_
ucred - Extract
UCred(pid/uid) from a connected Unix domain socket. - local_
credentials - Get the current process’s real credentials (PID + UID).
- socket_
path - Resolve the platform-appropriate IPC socket path.