pub mod dictionary_store;
pub mod gat;
pub mod repositories;
pub mod writer;
pub use dictionary_store::{DictionaryFuture, DictionaryStore, NoopDictionaryStore};
pub use gat::*;
pub use repositories::{
CacheExtensions, CacheStatistics, FrameQueryResult, Pagination, PriorityDistribution,
SessionHealthSnapshot, SessionQueryCriteria, SessionQueryResult, SortOrder, StreamFilter,
StreamMetadata, StreamStatistics, StreamStatus,
};
pub use writer::{
BackpressureStrategy, ConnectionMetrics, ConnectionState, WriterConfig, WriterMetrics,
};
pub trait TimeProvider: Send + Sync {
fn now(&self) -> chrono::DateTime<chrono::Utc>;
fn now_millis(&self) -> u64 {
self.now().timestamp_millis() as u64
}
}
#[derive(Debug, Clone)]
pub struct SystemTimeProvider;
impl TimeProvider for SystemTimeProvider {
fn now(&self) -> chrono::DateTime<chrono::Utc> {
chrono::Utc::now()
}
}