pub struct ReplicationMessage {
pub request_id: u64,
pub body: ReplicationMessageBody,
}Expand description
Top-level replication message envelope.
Every replication wire message carries a sender-assigned request_id so
that the receiver can correlate responses without relying on transport-layer
ordering.
Fields§
§request_id: u64Sender-assigned request ID for correlation.
body: ReplicationMessageBodyThe message body.
Implementations§
Source§impl ReplicationMessage
impl ReplicationMessage
Sourcepub fn encode(&self) -> Result<Vec<u8>, ReplicationProtocolError>
pub fn encode(&self) -> Result<Vec<u8>, ReplicationProtocolError>
Encode the message to bytes using postcard.
§Errors
Returns ReplicationProtocolError::SerializationFailed if postcard
serialization fails.
Sourcepub fn decode(data: &[u8]) -> Result<Self, ReplicationProtocolError>
pub fn decode(data: &[u8]) -> Result<Self, ReplicationProtocolError>
Decode a message from bytes using postcard.
Rejects payloads larger than MAX_REPLICATION_MESSAGE_SIZE before
attempting deserialization.
§Errors
Returns ReplicationProtocolError::MessageTooLarge if the input
exceeds the size limit, or
ReplicationProtocolError::DeserializationFailed if postcard cannot
parse the data.
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
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