pub struct ReplicateOp {
pub key: String,
pub value: Vec<u8>,
pub timestamp_ms: u64,
pub node_id: String,
pub seq: u64,
pub boot_id: u64,
pub expires_at_ms: u64,
pub is_tombstone: bool,
pub logical_counter: u64,
}Expand description
A single replicated write, sent from a fragment’s coordinator to the
other replica holders. Delivery is at-least-once; receivers merge with
last-writer-wins on (timestamp_ms, node_id) and do NOT re-forward.
seq/boot_id are propagation metadata.
Fields§
§key: String§value: Vec<u8>§timestamp_ms: u64§node_id: String§seq: u64§boot_id: u64Random per process start. Carried as origin metadata; replay safety is provided by the value’s LWW version rather than transport deduplication.
expires_at_ms: u64Optional key expiry (wall-clock ms). 0/absent = no expiry.
is_tombstone: boolTrue if this is a deletion tombstone.
logical_counter: u64Trait Implementations§
Source§impl Clone for ReplicateOp
impl Clone for ReplicateOp
Source§impl Debug for ReplicateOp
impl Debug for ReplicateOp
Source§impl Default for ReplicateOp
impl Default for ReplicateOp
impl Eq for ReplicateOp
Source§impl Hash for ReplicateOp
impl Hash for ReplicateOp
Source§impl Message for ReplicateOp
impl Message for ReplicateOp
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message with a length-delimiter to a buffer. Read more
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes an instance of the message from a buffer, and merges it into
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.Source§impl PartialEq for ReplicateOp
impl PartialEq for ReplicateOp
impl StructuralPartialEq for ReplicateOp
Auto Trait Implementations§
impl Freeze for ReplicateOp
impl RefUnwindSafe for ReplicateOp
impl Send for ReplicateOp
impl Sync for ReplicateOp
impl Unpin for ReplicateOp
impl UnsafeUnpin for ReplicateOp
impl UnwindSafe for ReplicateOp
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