Enum diem_config::config::PeerRole [−][src]
pub enum PeerRole {
Validator,
PreferredUpstream,
Upstream,
ValidatorFullNode,
Downstream,
Known,
Unknown,
}Expand description
Represents the Role that a peer plays in the network ecosystem rather than the type of node. Determines how nodes are connected to other nodes, and how discovery views them.
Rules for upstream nodes via Peer Role:
Validator -> Always upstream if not Validator else P2P PreferredUpstream -> Always upstream, overriding any other discovery ValidatorFullNode -> Always upstream for incoming connections (including other ValidatorFullNodes) Upstream -> Upstream, if no ValidatorFullNode or PreferredUpstream. Useful for initial seed discovery Downstream -> Downstream, defining a controlled downstream that I always want to connect Known -> A known peer, but it has no particular role assigned to it Unknown -> Undiscovered peer, likely due to a non-mutually authenticated connection always downstream
Variants
Trait Implementations
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
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for PeerRole
impl UnwindSafe for PeerRole
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key and return true if they are equal.
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
type Output = T
type Output = T
Should always be Self
Generates a hash used only for tests.