pub trait EventBusConfig: Send + Sync + Clone + 'static {
type Backend: super::markers::BackendMarker;
fn topics(&self) -> &[String];
fn config_id(&self) -> String;
fn as_any(&self) -> &dyn std::any::Any;
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum TopologyMode {
Provision,
Validate,
}
#[derive(Debug, Clone)]
pub struct ProcessingLimits {
pub max_events_per_frame: Option<usize>,
pub max_drain_millis: Option<u64>,
}
impl Default for ProcessingLimits {
fn default() -> Self {
Self {
max_events_per_frame: Some(100),
max_drain_millis: Some(10),
}
}
}