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 timeline;
15pub mod wal_stream;
16
17pub use basebackup::{
18    BaseBackupChunk, BaseBackupChunkPart, BaseBackupManifestChunk, BaseBackupRequest,
19    BASEBACKUP_CHUNK_HEX_FIELD, BASEBACKUP_CHUNK_ORDINAL_FIELD, BASEBACKUP_CHUNK_PAIR_FIELD,
20    BASEBACKUP_MANIFEST_HEX_FIELD,
21};
22pub use bookmark::{BookmarkDecodeError, CausalBookmark};
23pub use catchup::{CatchupMode, CatchupModeReply};
24pub use change_record::{
25    change_record_json_value_to_string, parse_change_record_json_value, public_item_kind,
26    ChangeOperation, ChangeRecord, ChangeRecordJsonValue, DEFAULT_REPLICATION_TERM,
27};
28pub use timeline::{
29    FailoverPromotionReply, FailoverPromotionRequest, RejoinPlanNotice, RejoinRewindConfirmation,
30    RejoinRewindConfirmationReply, TimelineForkNotice,
31};
32pub use util::ReplicationPayloadError;
33pub use wal_stream::{
34    WalStreamAck, WalStreamAckReply, WalStreamChunk, WalStreamOpen, WalStreamRecord,
35};