pub enum SyncProtocolKind {
None,
DeltaSync,
HashComparison,
Snapshot,
BloomFilter,
SubtreePrefetch,
LevelWise,
}Expand description
Protocol capability identifier for sync negotiation.
This is a discriminant-only enum used for advertising which sync protocols
a node supports. Unlike SyncProtocol, this does not carry protocol-specific
data, making it suitable for capability comparison with contains() and equality.
See CIP §2 - Sync Handshake Protocol.
IMPORTANT: Keep variants in sync with SyncProtocol.
Variants§
None
No sync needed - root hashes already match.
DeltaSync
Delta-based sync via DAG traversal.
HashComparison
Hash-based Merkle tree comparison.
Snapshot
Full state snapshot transfer.
BloomFilter
Bloom filter-based quick diff.
SubtreePrefetch
Subtree prefetch for deep localized changes.
LevelWise
Level-wise sync for wide shallow trees.
Trait Implementations§
Source§impl BorshDeserialize for SyncProtocolKind
impl BorshDeserialize for SyncProtocolKind
fn deserialize_reader<__R: Read>(reader: &mut __R) -> Result<Self, Error>
Source§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
Deserializes this instance from a given slice of bytes.
Updates the buffer to point at the remaining bytes.
Source§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
Deserialize this instance from a slice of bytes.
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
Source§impl BorshSerialize for SyncProtocolKind
impl BorshSerialize for SyncProtocolKind
Source§impl Clone for SyncProtocolKind
impl Clone for SyncProtocolKind
Source§fn clone(&self) -> SyncProtocolKind
fn clone(&self) -> SyncProtocolKind
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 SyncProtocolKind
impl Debug for SyncProtocolKind
Source§impl EnumExt for SyncProtocolKind
impl EnumExt for SyncProtocolKind
Source§impl From<&SyncProtocol> for SyncProtocolKind
impl From<&SyncProtocol> for SyncProtocolKind
Source§fn from(protocol: &SyncProtocol) -> Self
fn from(protocol: &SyncProtocol) -> Self
Converts to this type from the input type.
Source§impl Hash for SyncProtocolKind
impl Hash for SyncProtocolKind
Source§impl PartialEq for SyncProtocolKind
impl PartialEq for SyncProtocolKind
impl Copy for SyncProtocolKind
impl Eq for SyncProtocolKind
impl StructuralPartialEq for SyncProtocolKind
Auto Trait Implementations§
impl Freeze for SyncProtocolKind
impl RefUnwindSafe for SyncProtocolKind
impl Send for SyncProtocolKind
impl Sync for SyncProtocolKind
impl Unpin for SyncProtocolKind
impl UnsafeUnpin for SyncProtocolKind
impl UnwindSafe for SyncProtocolKind
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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