1#![deny(unsafe_code)]
25#![deny(unused_must_use)]
26
27mod applied;
28mod artifact;
29mod export_lease;
30mod kv;
31mod nats;
32pub mod protocol;
33pub mod snapshot;
34#[cfg(feature = "fjall")]
35mod snapshot_fjall;
36#[cfg(any(feature = "fjall", feature = "rocksdb"))]
37mod snapshot_record;
38#[cfg(feature = "rocksdb")]
39mod snapshot_rocksdb;
40mod stores;
41#[cfg(feature = "transport")]
42mod transport;
43
44pub use applied::{BatchConfig, ExportRequest, WatchScope, watch_applied};
45pub use artifact::{ARTIFACT_SCHEMA_VERSION, ArtifactFile, ExportManifest, MANIFEST_FILE};
46pub use export_lease::{ExportLease, LeaseGuard, LeaseRecord};
47pub use kv::{
48 KvEntry, KvError, KvPurge, KvReader, KvTtl, KvUpdate, KvWatcher, KvWriter, VersionToken,
49 WatchCursor,
50};
51pub use nats::{NatsConnection, NatsConnectionConfig, nats_connect};
52pub use snapshot::{AppendLogSnapshot, SnapshotStore};
53#[cfg(feature = "fjall")]
54pub use snapshot_fjall::{FjallConfig, FjallReader, FjallSnapshot};
55#[cfg(feature = "rocksdb")]
56pub use snapshot_rocksdb::{RocksDbConfig, RocksDbReader, RocksDbSnapshot};
57pub use stores::{
58 Connection, ConnectionCapabilities, DiscardPolicy, KvStore, StorageType, StoreConfig,
59};
60#[cfg(feature = "transport")]
61pub use transport::{ArtifactTransport, ObjectStoreTransport, PublishOutcome, run_export_round};