calimero_node_primitives/
sync.rs1#![expect(single_use_lifetimes, reason = "borsh shenanigans")]
31
32pub mod bloom_filter;
37pub mod delta;
38pub mod handshake;
39pub mod hash_comparison;
40pub mod levelwise;
41pub mod protocol;
42pub mod protocol_trait;
43pub mod snapshot;
44pub mod state_machine;
45pub mod storage_bridge;
46pub mod subtree;
47pub mod transport;
48pub mod wire;
49
50pub use handshake::{
56 SyncCapabilities, SyncHandshake, SyncHandshakeResponse, SYNC_PROTOCOL_VERSION,
57};
58
59pub use protocol::{
61 calculate_divergence, is_protocol_supported, select_protocol, select_protocol_with_fallback,
62 ProtocolSelection, SyncProtocol, SyncProtocolKind,
63};
64
65pub use delta::{
67 DeltaApplyResult, DeltaPayload, DeltaSyncRequest, DeltaSyncResponse,
68 DEFAULT_DELTA_SYNC_THRESHOLD,
69};
70
71pub use hash_comparison::{
73 compare_tree_nodes, CrdtType, LeafMetadata, TreeCompareResult, TreeLeafData, TreeNode,
74 TreeNodeRequest, TreeNodeResponse, MAX_CHILDREN_PER_NODE, MAX_LEAF_VALUE_SIZE,
75 MAX_NODES_PER_RESPONSE, MAX_TREE_DEPTH,
76};
77
78pub use bloom_filter::{
80 BloomFilterRequest, BloomFilterResponse, DeltaIdBloomFilter, DEFAULT_BLOOM_FP_RATE,
81};
82
83pub use wire::{InitPayload, MessagePayload, StreamMessage, MAX_TREE_REQUEST_DEPTH};
85
86pub use snapshot::{
88 check_snapshot_safety, BroadcastMessage, SnapshotBoundaryRequest, SnapshotBoundaryResponse,
89 SnapshotComplete, SnapshotCursor, SnapshotEntity, SnapshotEntityPage, SnapshotError,
90 SnapshotPage, SnapshotRequest, SnapshotStreamRequest, SnapshotVerifyResult,
91 DEFAULT_SNAPSHOT_PAGE_SIZE, MAX_COMPRESSED_PAYLOAD_SIZE, MAX_DAG_HEADS, MAX_ENTITIES_PER_PAGE,
92 MAX_ENTITY_DATA_SIZE, MAX_SNAPSHOT_PAGES, MAX_SNAPSHOT_PAGE_SIZE,
93};
94
95pub use subtree::{
97 should_use_subtree_prefetch, SubtreeData, SubtreePrefetchRequest, SubtreePrefetchResponse,
98 DEEP_TREE_THRESHOLD, DEFAULT_SUBTREE_MAX_DEPTH, MAX_CLUSTERED_SUBTREES, MAX_DIVERGENCE_RATIO,
99 MAX_ENTITIES_PER_SUBTREE, MAX_SUBTREES_PER_REQUEST, MAX_SUBTREE_DEPTH, MAX_TOTAL_ENTITIES,
100};
101
102pub use levelwise::{
104 compare_level_nodes, should_use_levelwise, LevelCompareResult, LevelNode, LevelWiseRequest,
105 LevelWiseResponse, MAX_LEVELWISE_DEPTH, MAX_NODES_PER_LEVEL, MAX_PARENTS_PER_REQUEST,
106 MAX_REQUESTS_PER_SESSION,
107};
108
109pub use state_machine::{
111 build_handshake, build_handshake_from_raw, estimate_entity_count, estimate_max_depth,
112 LocalSyncState,
113};
114
115pub use transport::{EncryptionState, SyncTransport};
117
118pub use protocol_trait::SyncProtocolExecutor;
120
121pub use storage_bridge::create_runtime_env;