1pub mod array;
2#[cfg(feature = "sync")]
3pub mod client;
4pub mod clock;
5#[cfg(feature = "sync")]
6mod collection_schema_builder;
7pub mod compensation;
8pub mod constants;
9pub mod delegate;
10pub mod flow_control;
11pub mod outbound;
12pub mod shapes;
13pub mod stream_seq;
14#[cfg(feature = "sync")]
15pub mod transport;
16
17pub use constants::PUSH_DRAIN_LIMIT;
18
19pub use array::KvOpLogStore;
20#[cfg(feature = "sync")]
21pub use client::{SyncClient, SyncConfig, SyncState};
22pub use clock::VectorClock;
23pub use compensation::{CompensationEvent, CompensationHandler, CompensationRegistry};
24pub use delegate::SyncDelegate;
25pub use flow_control::{FlowControlConfig, FlowController, SyncMetrics, SyncMetricsSnapshot};
26pub(crate) use outbound::reconcile_outbound_enqueue;
27pub use outbound::{
28 ColumnarOutbound, DurableOutboundQueue, FtsOutbound, KvOutbound, PendingColumnarBatch,
29 PendingFtsDelete, PendingFtsIndex, PendingKvOp, PendingKvWrite, PendingSpatialDelete,
30 PendingSpatialInsert, PendingTimeseriesBatch, PendingVectorDelete, PendingVectorInsert,
31 SpatialOutbound, TimeseriesOutbound, VectorOutbound,
32};
33pub use shapes::ShapeManager;
34pub use stream_seq::StreamSeqTracker;
35#[cfg(feature = "sync")]
36pub use transport::run_sync_loop;