#![warn(missing_docs)]
#[cfg(feature = "io-uring")]
pub mod async_storage;
pub mod bitfield;
pub mod cache;
pub mod chunk_tracker;
mod error;
pub mod file_map;
pub mod filesystem;
#[cfg(all(target_os = "linux", feature = "io-uring"))]
pub mod io_uring_backend;
#[cfg(all(target_os = "windows", feature = "iocp"))]
pub mod iocp_backend;
pub mod memory;
pub mod mmap;
pub mod storage;
#[cfg(feature = "io-uring")]
pub use async_storage::TorrentStorageAsync;
pub use bitfield::Bitfield;
pub use cache::ArcCache;
pub use chunk_tracker::ChunkTracker;
pub use error::{Error, Result};
pub use file_map::{FileMap, FileSegment};
pub use filesystem::{FilesystemStorage, PreallocateMode};
#[cfg(all(target_os = "linux", feature = "io-uring"))]
pub use io_uring_backend::{IoUringConfig, IoUringStorageState};
#[cfg(all(target_os = "windows", feature = "iocp"))]
pub use iocp_backend::{IocpConfig, IocpStorageState};
pub use memory::MemoryStorage;
pub use mmap::MmapStorage;
pub use storage::TorrentStorage;