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;
11pub mod demo_factories;
12mod error;
13mod job;
14mod registry;
15
16/// The `datum-agent` crate version.
17pub const VERSION: &str = env!("CARGO_PKG_VERSION");
18
19pub use agent::{Agent, AgentConfig, AgentHandle};
20pub use cluster::{
21    AGENT_ROLE, ClusterAgent, ClusterAgentConfig, ClusterAgentError, ClusterAgentHandle,
22    ClusterAgentResult, NodeSessionConfig, NodeSessionManagerHandle, NodeSessionTransport,
23};
24pub use error::{AgentError, AgentResult};
25pub use job::{
26    ClusterJobMetadata, ClusterPlacementHistory, DesiredJobState, JobContext, JobControl,
27    JobDrainBehavior, JobEvent, JobEventKind, JobExitReason, JobGraphFactory, JobId,
28    JobInstrumentationSnapshot, JobMat, JobRestartPolicy, JobSpec, JobState, JobStatus,
29    PlacementSpec, PlacementStrategy,
30};
31pub use registry::{JobRegistry, JobRegistryHandle};