pub enum PeerCapability {
BitswapV1,
BitswapV2,
DHTKademlia,
DHTCorvus,
GossipSub,
GraphSync,
SemanticSearch,
TensorLogic,
Relay,
NatTraversal,
Custom(String),
}Expand description
A well-known or custom capability that a peer may advertise.
Variants cover the full IPFRS protocol suite: block exchange, DHT flavours,
pub/sub, graph sync, semantic search, tensor logic, relay, NAT traversal,
and an open-ended Custom escape hatch.
Variants§
BitswapV1
Bitswap block-exchange protocol, version 1.
BitswapV2
Bitswap block-exchange protocol, version 2 (session-aware).
DHTKademlia
Standard Kademlia DHT routing.
DHTCorvus
Corvus DHT — IPFRS-native DHT with semantic routing extensions.
GossipSub
GossipSub pub/sub mesh messaging.
GraphSync
GraphSync — IPLD graph synchronisation protocol.
SemanticSearch
Semantic vector-similarity search over DHT keyspace.
TensorLogic
TensorLogic rule engine and inference capability.
Relay
Circuit-relay service (the peer acts as a relay).
NatTraversal
NAT traversal via AutoNAT / DCUtR / hole-punching.
Custom(String)
Application-defined capability identified by an arbitrary string.
Implementations§
Trait Implementations§
Source§impl Clone for PeerCapability
impl Clone for PeerCapability
Source§fn clone(&self) -> PeerCapability
fn clone(&self) -> PeerCapability
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PeerCapability
impl Debug for PeerCapability
impl Eq for PeerCapability
Source§impl Hash for PeerCapability
impl Hash for PeerCapability
Source§impl PartialEq for PeerCapability
impl PartialEq for PeerCapability
Source§fn eq(&self, other: &PeerCapability) -> bool
fn eq(&self, other: &PeerCapability) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PeerCapability
Auto Trait Implementations§
impl Freeze for PeerCapability
impl RefUnwindSafe for PeerCapability
impl Send for PeerCapability
impl Sync for PeerCapability
impl Unpin for PeerCapability
impl UnsafeUnpin for PeerCapability
impl UnwindSafe for PeerCapability
Blanket Implementations§
impl<T> Allocation for T
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
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<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>
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>
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