pub struct SyncMessage {
pub sender_state_num: u64,
pub acked_state_num: u64,
pub base_state_num: u64,
pub diff: Vec<u8>,
}Available on crate feature
sync only.Expand description
Sync message format (inside encrypted payload)
Wire format:
+0 Sender State Num (8 bytes LE64)
+8 Acked State Num (8 bytes LE64)
+16 Base State Num (8 bytes LE64)
+24 Diff Length (4 bytes LE32)
+28 Diff Payload (variable)Fields§
§sender_state_num: u64Version of sender’s current state
acked_state_num: u64Highest version received from peer (acknowledgment)
base_state_num: u64Version this diff was computed from
diff: Vec<u8>Application-specific diff encoding
Implementations§
Source§impl SyncMessage
impl SyncMessage
Sourcepub fn new(
sender_state_num: u64,
acked_state_num: u64,
base_state_num: u64,
diff: Vec<u8>,
) -> Self
pub fn new( sender_state_num: u64, acked_state_num: u64, base_state_num: u64, diff: Vec<u8>, ) -> Self
Create a new sync message
Sourcepub fn ack_only(current_version: u64, acked_version: u64) -> Self
pub fn ack_only(current_version: u64, acked_version: u64) -> Self
Create an ack-only message (empty diff)
Sourcepub fn is_ack_only(&self) -> bool
pub fn is_ack_only(&self) -> bool
Check if this is an ack-only message
Sourcepub fn encode_into(&self, buf: &mut [u8]) -> Result<usize, MessageError>
pub fn encode_into(&self, buf: &mut [u8]) -> Result<usize, MessageError>
Encode into existing buffer, returns bytes written
Sourcepub fn decode(data: &[u8]) -> Result<Self, MessageError>
pub fn decode(data: &[u8]) -> Result<Self, MessageError>
Decode from wire format
Sourcepub fn decode_with_length(data: &[u8]) -> Result<(Self, usize), MessageError>
pub fn decode_with_length(data: &[u8]) -> Result<(Self, usize), MessageError>
Decode from wire format, returning message and bytes consumed
Trait Implementations§
Source§impl Clone for SyncMessage
impl Clone for SyncMessage
Source§fn clone(&self) -> SyncMessage
fn clone(&self) -> SyncMessage
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 SyncMessage
impl Debug for SyncMessage
Source§impl PartialEq for SyncMessage
impl PartialEq for SyncMessage
impl Eq for SyncMessage
impl StructuralPartialEq for SyncMessage
Auto Trait Implementations§
impl Freeze for SyncMessage
impl RefUnwindSafe for SyncMessage
impl Send for SyncMessage
impl Sync for SyncMessage
impl Unpin for SyncMessage
impl UnwindSafe for SyncMessage
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