Skip to main content

reddb_wire/replication/
mod.rs

1//! Replication protocol payload contracts.
2//!
3//! These structs describe the transport-agnostic payloads used by
4//! primary/replica exchange. Applying WAL, creating base backups,
5//! staging rebootstrap, and failover policy stay in `reddb-server`
6//! and `reddb-file`.
7
8mod util;
9
10pub mod basebackup;
11pub mod bookmark;
12pub mod catchup;
13pub mod change_record;
14pub mod range_stream;
15pub mod timeline;
16pub mod wal_stream;
17
18pub use basebackup::{
19    BaseBackupChunk, BaseBackupChunkPart, BaseBackupManifestChunk, BaseBackupRequest,
20    BASEBACKUP_CHUNK_HEX_FIELD, BASEBACKUP_CHUNK_ORDINAL_FIELD, BASEBACKUP_CHUNK_PAIR_FIELD,
21    BASEBACKUP_MANIFEST_HEX_FIELD,
22};
23pub use bookmark::{BookmarkDecodeError, CausalBookmark};
24pub use catchup::{CatchupMode, CatchupModeReply};
25pub use change_record::{
26    change_record_json_value_to_string, parse_change_record_json_value, public_item_kind,
27    ChangeOperation, ChangeRecord, ChangeRecordJsonValue, RangeAdmitError, RangeAuthority,
28    DEFAULT_REPLICATION_TERM,
29};
30pub use range_stream::{
31    classify_range_record, plan_range_catchup, RangeCatchupPlan, RangeProgressTracker,
32    RangeStreamDecision, RangeStreamPosition, RangeStreamProgress, RangeStreamReject,
33};
34pub use timeline::{
35    FailoverPromotionReply, FailoverPromotionRequest, RejoinPlanNotice, RejoinRewindConfirmation,
36    RejoinRewindConfirmationReply, TimelineForkNotice,
37};
38pub use util::ReplicationPayloadError;
39pub use wal_stream::{
40    WalStreamAck, WalStreamAckReply, WalStreamChunk, WalStreamOpen, WalStreamRecord,
41};