#![deny(unsafe_code)]
#![warn(missing_docs)]
pub mod backoff;
pub mod consumer;
pub mod event;
pub mod metrics;
pub mod zstd_dict;
pub use consumer::spawn_consumer;
pub use event::JetstreamEvent;
pub use metrics::JetstreamMetrics;
use std::sync::Arc;
use futures::future::BoxFuture;
#[derive(Debug, Clone)]
pub struct StreamConfig {
pub host: String,
pub collections: Vec<String>,
pub zstd_dict: Option<String>,
pub channel_capacity: usize,
pub max_lag_events: usize,
}
pub type EventHandler<S> =
Arc<dyn Fn(JetstreamEvent, S) -> BoxFuture<'static, anyhow::Result<()>> + Send + Sync>;