durable_streams_server/lib.rs
1#![doc = include_str!("../README.md")]
2//!
3//! # Library Entry Points
4//!
5//! Most embedders only need:
6//!
7//! - [`Config`] and [`ConfigLoadOptions`] to load server configuration
8//! - [`build_router`] to mount the Durable Streams HTTP API into an axum app
9//! - [`Storage`] plus one of [`InMemoryStorage`], [`FileStorage`], or [`AcidStorage`]
10//! to choose a persistence backend
11//!
12//! The lower-level [`protocol`] module exposes types that are useful in tests,
13//! storage implementations, and conformance-oriented integrations.
14
15pub mod config;
16mod handlers;
17mod middleware;
18pub mod protocol;
19pub mod router;
20pub mod storage;
21
22pub use config::{Config, ConfigLoadOptions, StorageMode};
23pub use router::{DEFAULT_STREAM_BASE_PATH, ShutdownToken, build_router, build_router_with_ready};
24pub use storage::{Storage, acid::AcidStorage, file::FileStorage, memory::InMemoryStorage};