Skip to main content

camel_master/
lib.rs

1//! Master/leader-election component — wraps a delegate consumer with distributed lock-based leadership coordination.
2//!
3//! Main types: `MasterComponent`, `MasterBundle`.
4//! Main modules: `bundle`, `config`.
5
6pub mod bundle;
7pub mod component;
8pub mod config;
9pub mod consumer;
10pub mod endpoint;
11pub mod leadership;
12pub mod supervision;
13
14pub use bundle::MasterBundle;
15pub use component::MasterComponent;
16
17// Re-exports so the test module's `use super::*;` glob import continues to resolve.
18// Production code uses explicit crate::module::* paths.
19#[cfg(test)]
20pub(crate) use crate::config::MasterUriConfig;
21#[cfg(test)]
22pub(crate) use consumer::MasterConsumer;
23
24// These imports exist solely for the test module's `use super::*;` glob import.
25// Production code uses explicit paths.
26#[cfg(test)]
27use async_trait::async_trait;
28#[cfg(test)]
29use camel_api::{CamelError, MetricsCollector};
30#[cfg(test)]
31use camel_component_api::{
32    BoxProcessor, Component, ComponentContext, Consumer, ConsumerContext, Endpoint,
33    NetworkRetryPolicy, ProducerContext,
34};
35#[cfg(test)]
36use camel_language_api::Language;
37#[cfg(test)]
38use std::time::Duration;
39
40#[cfg(test)]
41mod tests;