pub enum ReplicationMessage {
WalEntry {
node_id: u32,
lsn: u64,
timestamp: u64,
data: Vec<u8>,
},
Heartbeat {
node_id: u32,
lsn: u64,
},
RequestFrom {
node_id: u32,
lsn: u64,
},
Acknowledge {
node_id: u32,
lsn: u64,
},
VoteRequest {
node_id: u32,
term: u64,
last_lsn: u64,
},
VoteResponse {
node_id: u32,
voter_id: u32,
term: u64,
granted: bool,
},
Promotion {
node_id: u32,
term: u64,
},
}Expand description
Replication 메시지 타입
Variants§
WalEntry
WAL 항목 전송.
node_id: 발신 노드 식별자
lsn: 로그 시퀀스 번호
timestamp: LWW (Last-Writer-Wins) 기반 충돌 해결용
Heartbeat
연결 유지 신호
RequestFrom
특정 LSN부터 재전송 요청
Acknowledge
동기화 완료 확인
VoteRequest
마스터 승격(Failover) 표를 요청
term: 선출 임기 번호 (중복 선출 방지)
VoteResponse
마스터 승격(Failover) 투표 응답
voter_id: 투표한 노드 ID (집계용)
Promotion
새 마스터 승격 알림
Implementations§
Trait Implementations§
Source§impl Clone for ReplicationMessage
impl Clone for ReplicationMessage
Source§fn clone(&self) -> ReplicationMessage
fn clone(&self) -> ReplicationMessage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ReplicationMessage
impl Debug for ReplicationMessage
Source§impl<'de> Deserialize<'de> for ReplicationMessage
impl<'de> Deserialize<'de> for ReplicationMessage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ReplicationMessage
impl PartialEq for ReplicationMessage
Source§impl Serialize for ReplicationMessage
impl Serialize for ReplicationMessage
impl StructuralPartialEq for ReplicationMessage
Auto Trait Implementations§
impl Freeze for ReplicationMessage
impl RefUnwindSafe for ReplicationMessage
impl Send for ReplicationMessage
impl Sync for ReplicationMessage
impl Unpin for ReplicationMessage
impl UnsafeUnpin for ReplicationMessage
impl UnwindSafe for ReplicationMessage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more