pub struct SyncOffer {
pub protocol_version: u32,
pub heads: Vec<Hash>,
pub bloom: BloomFilter,
pub physical_ms: u64,
pub logical: u32,
}Fields§
§protocol_version: u32Protocol version — peers reject offers with unknown versions. Defaults to 0 for backward compat with pre-versioned offers.
heads: Vec<Hash>Current DAG heads of the offering peer.
bloom: BloomFilterBloom filter containing all entry hashes the peer has.
physical_ms: u64Physical time (ms) of the offering peer’s clock.
logical: u32Logical counter of the offering peer’s clock.
Implementations§
Source§impl SyncOffer
impl SyncOffer
Sourcepub fn from_oplog(oplog: &OpLog, physical_ms: u64, logical: u32) -> Self
pub fn from_oplog(oplog: &OpLog, physical_ms: u64, logical: u32) -> Self
Build a sync offer from an op log.
Constructs a bloom filter of all entry hashes and captures current heads.
Sourcepub fn from_bytes(bytes: &[u8]) -> Result<Self, String>
pub fn from_bytes(bytes: &[u8]) -> Result<Self, String>
Deserialize from MessagePack bytes. S-03: validates byte length. S-05: validates bloom filter dimensions.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for SyncOffer
impl<'de> Deserialize<'de> for SyncOffer
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 SyncOffer
impl RefUnwindSafe for SyncOffer
impl Send for SyncOffer
impl Sync for SyncOffer
impl Unpin for SyncOffer
impl UnsafeUnpin for SyncOffer
impl UnwindSafe for SyncOffer
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