libgrite_ipc/lib.rs
1//! IPC types and client for grit daemon communication
2//!
3//! This crate provides:
4//! - Message types for daemon communication (IpcRequest, IpcResponse, IpcCommand)
5//! - Notification types for pub/sub (EventApplied, WalSynced, etc.)
6//! - Daemon lock management (DaemonLock)
7//! - Discovery protocol types
8//! - IPC client for connecting to the daemon
9
10pub mod client;
11pub mod discovery;
12pub mod error;
13pub mod lock;
14pub mod messages;
15pub mod notifications;
16
17pub use client::IpcClient;
18pub use discovery::{DiscoverRequest, DiscoverResponse, WorkerInfo};
19pub use error::IpcError;
20pub use lock::DaemonLock;
21pub use messages::{IpcCommand, IpcRequest, IpcResponse, IpcErrorPayload};
22pub use notifications::Notification;
23
24/// Current IPC schema version
25pub const IPC_SCHEMA_VERSION: u32 = 1;
26
27/// Protocol identifier for discovery
28pub const PROTOCOL_NAME: &str = "grit-ipc";
29
30/// Default request timeout in milliseconds
31pub const DEFAULT_TIMEOUT_MS: u64 = 10_000;
32
33/// Default lease duration for daemon locks in milliseconds
34pub const DEFAULT_LEASE_MS: u64 = 30_000;