Struct diem_config::config::Peer
source · pub struct Peer {
pub addresses: Vec<NetworkAddress>,
pub keys: HashSet<PublicKey>,
pub role: PeerRole,
}
Expand description
Represents a single seed configuration for a seed peer
Fields§
§addresses: Vec<NetworkAddress>
§keys: HashSet<PublicKey>
§role: PeerRole
Implementations§
source§impl Peer
impl Peer
sourcepub fn new(
addresses: Vec<NetworkAddress>,
keys: HashSet<PublicKey>,
role: PeerRole
) -> Peer
pub fn new( addresses: Vec<NetworkAddress>, keys: HashSet<PublicKey>, role: PeerRole ) -> Peer
Combines Vec<NetworkAddress>
keys with the HashSet
given
sourcepub fn extend(&mut self, other: Peer) -> Result<(), Error>
pub fn extend(&mut self, other: Peer) -> Result<(), Error>
Combines two Peer
. Note: Does not merge duplicate addresses
TODO: Instead of rejecting, maybe pick one of the roles?
pub fn from_addrs(role: PeerRole, addresses: Vec<NetworkAddress>) -> Peer
Trait Implementations§
source§impl<'de> Deserialize<'de> for Peerwhere
Peer: Default,
impl<'de> Deserialize<'de> for Peerwhere Peer: Default,
source§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
source§impl PartialEq<Peer> for Peer
impl PartialEq<Peer> for Peer
impl Eq for Peer
impl StructuralEq for Peer
impl StructuralPartialEq for Peer
Auto Trait Implementations§
impl RefUnwindSafe for Peer
impl Send for Peer
impl Sync for Peer
impl Unpin for Peer
impl UnwindSafe for Peer
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
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> PersistableConfig for Twhere
T: Serialize + DeserializeOwned + ?Sized,
impl<T> PersistableConfig for Twhere T: Serialize + DeserializeOwned + ?Sized,
source§impl<T> Serialize for Twhere
T: Serialize + ?Sized,
impl<T> Serialize for Twhere T: Serialize + ?Sized,
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>
§impl<T> TestOnlyHash for Twhere
T: Serialize + ?Sized,
impl<T> TestOnlyHash for Twhere T: Serialize + ?Sized,
§fn test_only_hash(&self) -> HashValue
fn test_only_hash(&self) -> HashValue
Generates a hash used only for tests.