1mod checkpoint;
13mod client;
14mod codec;
15mod discovery;
16mod error;
17mod log;
18mod outbox;
19mod outbox_format;
20mod outbox_journal;
21mod outbox_journal_view;
22mod persistence;
23mod receiver;
24mod retry;
25mod snapshot;
26mod transport;
27mod types;
28mod wire;
29
30pub use checkpoint::{
31 FileSyncCheckpointStore, InMemorySyncCheckpointStore, SyncCheckpointStore,
32 SYNC_CHECKPOINT_FORMAT_V1,
33};
34pub use client::FollowerSyncClient;
35pub use discovery::{discover_dns_sync_peers, SyncPeerAddress, SyncPeerScheme};
36pub use error::{SyncError, SyncResult};
37pub use log::{
38 FileReplicationLog, InMemoryReplicationLog, ReplicationLog, REPLICATION_LOG_FORMAT_V1,
39};
40pub use outbox::{
41 FileSyncOutbox, InMemorySyncOutbox, SyncOutbox, SyncOutboxReceipt, SyncOutboxStats,
42 MAX_OUTBOX_PAGE_BYTES, MAX_OUTBOX_PAGE_MESSAGES, SYNC_OUTBOX_FORMAT_V2,
43};
44pub use receiver::{SyncReceiveAck, SyncReceiverState};
45pub use retry::{SyncPushMetrics, SyncRetryPolicy};
46pub use snapshot::{ReplicationSnapshot, ReplicationSnapshotRecord, SYNC_SNAPSHOT_FORMAT_V1};
47pub use transport::{decode_sync_message, HttpSyncTransport, SyncTransport};
48pub use types::{
49 compute_events_hash, HeartbeatMessage, LeaderElection, NodeRole, PeerInfo, SyncMessage,
50 SyncStatus,
51};
52pub use wire::{
53 decode_sync_envelope, encode_sync_envelope_v1, SyncEnvelopeV1, SYNC_WIRE_SCHEMA_V1,
54};
55
56#[cfg(test)]
57pub(crate) use transport::read_http_request_body;
58
59#[cfg(test)]
60mod sync_tests;