Crate core_ipc

Crate core_ipc 

Source
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.
ConfirmationGuard
RAII guard that deregisters a confirmation route on drop.
Message
The IPC bus message envelope wrapping any payload type.
MessageContext
Context for constructing outbound messages.
PeerCredentials
Peer credentials obtained from the transport layer.
RetryConfig
Retry parameters for initial IPC bus connection.
SubscriptionFilter
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.