zinit 0.1.0

Process supervisor with dependency management
Documentation
//! zinit SDK - Shared types for the zinit process supervisor.
//!
//! This module provides:
//! - Service state machine types
//! - Configuration parsing and validation
//! - JSON-RPC protocol types
//! - Response data structures
//! - Socket path utilities
//! - Signal parsing utilities
//! - A blocking client for IPC
//! - An async client for IPC (with `async` feature)

#[cfg(feature = "async")]
mod async_client;
pub mod client;
pub mod config;
pub mod protocol;
pub mod responses;
pub mod signal;
pub mod socket;
pub mod state;
pub mod validate;
pub mod xinet;

// Re-export commonly used types at the crate root
#[cfg(feature = "async")]
pub use async_client::{AsyncClientError, AsyncZinitClient};
pub use client::{ClientError, ZinitClient};
pub use config::{
    ConfigError, DependencyDef, HealthCommon, HealthDef, LifecycleDef, LoggingDef, RestartPolicy,
    ServiceClass, ServiceConfig, ServiceDef, Status, TargetConfig, TargetDef,
};
pub use protocol::{RpcError, RpcRequest, RpcResponse, error_codes};
pub use responses::{
    AddServiceParams, AddServiceResult, BulkDeleteResult, BulkStartResult, BulkStopResult, DepType,
    DependencyInfo, LegacyServiceStatus, LogLine, LogStream, OkResponse, PingResponse,
    PrepareRestartResult, ReloadResult, ServiceInfo, ServiceStats, ServiceStatus, State,
    TreeResponse, WhyBlocked, XinetStatus,
};
pub use state::{FailureReason, ServiceState};
pub use xinet::{ProxyStatus, SocketAddr as XinetSocketAddr, XinetConfig};