Skip to main content

appcore_sync/
lib.rs

1// =============================================================================
2//        #######
3//     ###       ###     F: lib.rs
4//    ##   ## ##   ##    P: AppCore-Runtime
5//         ## ##
6//                       C: 2026/05/29 20:47:35 by dnettoRaw
7//    ##   ## ##   ##    U: 2026/08/02 00:04:12 by dnettoRaw
8//      ###########      S: 1.0.1-rc.8
9// =============================================================================
10
11//! Sync contracts for roles, peer metadata, transport, election, and replication.
12
13#![deny(missing_docs)]
14
15pub mod sync;
16
17pub use appcore_distributed_contracts::{
18    OpaqueContentEnvelopeV1, OpaqueEnvelopeDecision, OpaqueEnvelopeDeduplicator,
19    OpaqueEnvelopePolicy, MAX_OPAQUE_MESSAGE_ID_BYTES, OPAQUE_CONTENT_ENVELOPE_SCHEMA_V1,
20};
21pub use sync::{
22    compute_events_hash, decode_sync_envelope, decode_sync_message, discover_dns_sync_peers,
23    encode_sync_envelope_v1, encoded_sync_message_bytes, split_sync_payload,
24    write_sync_message_json, FileReplicationLog, FileSyncCheckpointStore, FileSyncOutbox,
25    FollowerSyncClient, HeartbeatMessage, HttpSyncTransport, InMemoryReplicationLog,
26    InMemorySyncCheckpointStore, InMemorySyncConflictStore, InMemorySyncOutbox, LeaderElection,
27    NodeRole, PeerInfo, ReplicationLog, ReplicationSnapshot, ReplicationSnapshotRecord,
28    SyncCheckpointStore, SyncChunkAssembler, SyncChunkInsert, SyncChunkProgress, SyncChunkRange,
29    SyncConflict, SyncConflictKind, SyncConflictResolution, SyncConflictResolutionReceipt,
30    SyncConflictResolutionRequest, SyncConflictStore, SyncEnvelopeV1, SyncError, SyncMessage,
31    SyncOutbox, SyncOutboxReceipt, SyncOutboxStats, SyncPayloadChunk, SyncPeerAddress,
32    SyncPeerScheme, SyncPushMetrics, SyncReceiveAck, SyncReceiverState, SyncResult,
33    SyncRetryPolicy, SyncStatus, SyncTransport, MAX_CHECKPOINT_FILE_BYTES,
34    MAX_CHECKPOINT_PEER_ID_BYTES, MAX_CHECKPOINT_RECORDS, MAX_CONFLICT_ID_BYTES,
35    MAX_CONFLICT_REASON_BYTES, MAX_OUTBOX_PAGE_BYTES, MAX_OUTBOX_PAGE_MESSAGES,
36    MAX_REPLICATION_PAGE_BYTES, MAX_REPLICATION_PAGE_RECORDS, MAX_SYNC_BATCH_PAYLOAD_BYTES,
37    MAX_SYNC_CHUNKS, MAX_SYNC_CHUNK_BYTES, MAX_SYNC_CHUNK_TOTAL_BYTES, MAX_SYNC_CONFLICTS,
38    MAX_SYNC_REQUEST_BODY_BYTES, MAX_SYNC_TRANSFER_ID_BYTES, REPLICATION_LOG_FORMAT_V1,
39    SYNC_CHECKPOINT_FORMAT_V1, SYNC_OUTBOX_FORMAT_V2, SYNC_WIRE_SCHEMA_V1,
40};
41
42pub use sync::{
43    decide_object_revision_v1, validate_checkpoint_head_v1, ObjectRevisionV1, RevisionChainV1,
44    RevisionDecisionV1, MAX_REVISION_CHAIN_V1,
45};