pub mod error;
pub mod event;
pub mod filter;
pub mod handler;
pub mod namespace;
pub mod publisher;
pub mod request_id;
pub mod store;
pub mod stream;
pub mod subscription;
pub mod version;
pub mod worker;
#[doc(hidden)]
pub mod testing;
pub use error::{Error, Result};
pub use event::{DeliveredEvent, EventCodec, StreamEvent, StreamEventEnvelope};
pub use filter::{StreamFilter, SubscribeRequest};
pub use request_id::{new_request_id, REQUEST_ID_PREFIX};
pub use handler::NStreamsHandler;
pub use namespace::Namespace;
pub use publisher::EventPublisher;
pub use store::EventStore;
pub use stream::{ReadStreamBackend, WriteQueueBackend};
pub use subscription::Subscription;
pub use version::VersionedDelivery;
pub use worker::StreamWorker;
pub const MAX_STREAM_HISTORY_ITEMS: u64 = 263_520;
pub const STREAM_MAX_AGE: &str = "183D";
pub const DEFAULT_MAX_EVENT_BYTES: u64 = 4_096;
pub fn stream_max_length_bytes(max_event_bytes: u64) -> u64 {
max_event_bytes.saturating_mul(MAX_STREAM_HISTORY_ITEMS)
}