core_ipc/
lib.rs

1//! IPC bus protocol, postcard framing, and BusServer/BusClient for PDS.
2//!
3//! The central nervous system of the Programmable Desktop Suite.
4//! All inter-daemon communication uses postcard-encoded frames over Unix domain sockets.
5//!
6//! Wire format: `[4-byte BE length][postcard(Message<EventKind>)]`
7#![forbid(unsafe_code)]
8
9mod client;
10mod framing;
11mod message;
12pub mod noise;
13pub(crate) mod noise_keys;
14pub mod registry;
15mod server;
16mod transport;
17
18pub use client::{BusClient, RetryConfig};
19pub use framing::{decode_frame, encode_frame};
20pub use message::{Message, MessageContext, WIRE_VERSION};
21pub use noise::{NoiseTransport, ZeroizingKeypair, generate_keypair};
22pub use registry::ClearanceRegistry;
23pub use server::{BusServer, ConfirmationGuard, SubscriptionFilter};
24pub use transport::{PeerCredentials, extract_ucred, local_credentials, socket_path};