Skip to main content

datum_agent/
lib.rs

1#![forbid(unsafe_code)]
2//! Embeddable job registry and lifecycle supervisor for Datum streams.
3//!
4//! `datum-agent` is intentionally local and protocol-free in WP-A2. The registry actor owns job
5//! specs, desired state, restart timers, completion polling, and lifecycle events. Job data paths
6//! remain ordinary Datum streams.
7
8mod agent;
9mod cluster;
10pub mod dcp;
11mod error;
12mod job;
13mod registry;
14
15/// The `datum-agent` crate version.
16pub const VERSION: &str = env!("CARGO_PKG_VERSION");
17
18pub use agent::{Agent, AgentConfig, AgentHandle};
19pub use cluster::{
20    AGENT_ROLE, ClusterAgent, ClusterAgentConfig, ClusterAgentError, ClusterAgentHandle,
21    ClusterAgentResult, NodeSessionConfig, NodeSessionManagerHandle, NodeSessionTransport,
22};
23pub use error::{AgentError, AgentResult};
24pub use job::{
25    ClusterJobMetadata, ClusterPlacementHistory, DesiredJobState, JobContext, JobControl,
26    JobDrainBehavior, JobEvent, JobEventKind, JobExitReason, JobGraphFactory, JobId,
27    JobInstrumentationSnapshot, JobMat, JobRestartPolicy, JobSpec, JobState, JobStatus,
28    PlacementSpec, PlacementStrategy,
29};
30pub use registry::{JobRegistry, JobRegistryHandle};