#[repr(u8)]pub enum ConnectionMode {
Gateway = 0,
Router = 1,
}Expand description
Indicates whether a peer is connected via the Gateway or the Router.
The mode is serialized as the first thing a Noise handshake’s first message carries, because a node accepting more than one subprotocol on a single listener - the bootstrap clients take both the gateway’s and the router’s connections - has to know which payload it is looking at before it can parse it. The marker preceding the pattern cannot say, being shared, and neither can the node type, since a validator connects in both modes at once.
It is unauthenticated there, but does not need to be trusted: each subprotocol signs under its own binding domain, so a peer that claims one mode and then speaks another fails signature verification.
Variants§
Trait Implementations§
Source§impl Clone for ConnectionMode
impl Clone for ConnectionMode
Source§fn clone(&self) -> ConnectionMode
fn clone(&self) -> ConnectionMode
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ConnectionMode
Source§impl Debug for ConnectionMode
impl Debug for ConnectionMode
Source§impl Display for ConnectionMode
impl Display for ConnectionMode
impl Eq for ConnectionMode
Source§impl FromBytes for ConnectionMode
impl FromBytes for ConnectionMode
Source§fn from_bytes_le(bytes: &[u8]) -> Result<Self, Error>where
Self: Sized,
fn from_bytes_le(bytes: &[u8]) -> Result<Self, Error>where
Self: Sized,
Returns
Self from a byte array in little-endian order.Source§fn from_bytes_le_unchecked(bytes: &[u8]) -> Result<Self, Error>where
Self: Sized,
fn from_bytes_le_unchecked(bytes: &[u8]) -> Result<Self, Error>where
Self: Sized,
Same behavior as
Self::from_bytes_le but avoids costly checks.
This shall only be called when deserializing from a trusted source, such as local storage. Read moreSource§fn read_le_unchecked<R>(reader: R) -> Result<Self, Error>
fn read_le_unchecked<R>(reader: R) -> Result<Self, Error>
Same behavior as
Self::read_le but avoids costly checks.
This shall only be called when deserializing from a trusted source, such as local storage. Read moreSource§impl PartialEq for ConnectionMode
impl PartialEq for ConnectionMode
impl StructuralPartialEq for ConnectionMode
Auto Trait Implementations§
impl Freeze for ConnectionMode
impl RefUnwindSafe for ConnectionMode
impl Send for ConnectionMode
impl Sync for ConnectionMode
impl Unpin for ConnectionMode
impl UnsafeUnpin for ConnectionMode
impl UnwindSafe for ConnectionMode
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<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