pub enum SharedCapability {
Eth {
version: EthVersion,
offset: u8,
},
UnknownCapability {
cap: Capability,
offset: u8,
messages: u8,
},
}Expand description
This represents a shared capability, its version, and its message id offset.
The offset is the message ID offset for this shared capability, determined during the rlpx handshake.
See also Message-id based multiplexing
Variants§
Eth
The eth capability.
Fields
version: EthVersion(Highest) negotiated version of the eth capability.
UnknownCapability
Any other unknown capability.
Fields
cap: CapabilityShared capability.
Implementations§
Sourcepub const fn capability(&self) -> Cow<'_, Capability>
pub const fn capability(&self) -> Cow<'_, Capability>
Returns the capability.
Sourcepub const fn eth_version(&self) -> Option<EthVersion>
pub const fn eth_version(&self) -> Option<EthVersion>
Returns the eth version if it’s the eth capability.
Sourcepub const fn message_id_offset(&self) -> u8
pub const fn message_id_offset(&self) -> u8
Returns the message ID offset of the current capability.
This represents the message ID offset for the first message of the eth capability in the message id space.
Sourcepub const fn relative_message_id_offset(&self) -> u8
pub const fn relative_message_id_offset(&self) -> u8
Returns the message ID offset of the current capability relative to the start of the
reserved message id space: MAX_RESERVED_MESSAGE_ID.
Sourcepub const fn num_messages(&self) -> u8
pub const fn num_messages(&self) -> u8
Returns the number of protocol messages supported by this capability.
Trait Implementations§
Auto Trait Implementations§
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
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 40 bytes
Size for each variant:
Eth: 10 bytesUnknownCapability: 40 bytes