Skip to main content

grite_daemon/
lib.rs

1//! Grite daemon library
2//!
3//! Exposes the daemon's core components for integration testing and embedding
4//! in other applications. The supervisor manages per-repo workers and IPC
5//! communication over Unix domain sockets.
6//!
7//! # Example
8//!
9//! ```rust,no_run
10//! use grite_daemon::supervisor::Supervisor;
11//! use std::time::Duration;
12//!
13//! #[tokio::main]
14//! async fn main() {
15//!     let supervisor = Supervisor::new(
16//!         "/tmp/grite-daemon.sock".to_string(),
17//!         Some(Duration::from_secs(300)),
18//!     );
19//!     supervisor.run(std::future::pending()).await.unwrap();
20//! }
21//! ```
22
23pub mod error;
24pub mod signals;
25pub mod state;
26pub mod supervisor;
27pub mod worker;
28
29pub use error::DaemonError;
30pub use signals::{setup_signal_handlers, shutdown_signal};
31pub use supervisor::Supervisor;
32pub use worker::{Worker, WorkerMessage};