Skip to main content

sidedns_core/ipc/
mod.rs

1use thiserror::Error;
2
3mod client;
4mod handler;
5mod message;
6mod server;
7
8pub use client::IpcClient;
9pub use message::{DnsEvent, IpcRequest, IpcResponse};
10pub use server::{IpcHandler, IpcServer};
11
12/// Errors specific to the IPC layer.
13///
14/// I/O and serialization errors are propagated transparently via [`anyhow`].
15/// This type covers only domain-level failure cases that callers may want
16/// to handle explicitly.
17#[derive(Error, Debug)]
18pub enum IpcError {
19    /// The remote end closed the connection before sending a complete response.
20    #[error("IPC connection was closed unexpectedly")]
21    ConnectionClosed,
22}