pub struct HandshakeMsg {
pub supported_protocols: BTreeMap<MessagingProtocolVersion, SupportedProtocols>,
pub chain_id: ChainId,
pub network_id: NetworkId,
}
Expand description
The HandshakeMsg contains a mapping from MessagingProtocolVersion
suppported by the node to a bit-vector specifying application-level protocols
supported over that version.
Fields§
§supported_protocols: BTreeMap<MessagingProtocolVersion, SupportedProtocols>
§chain_id: ChainId
§network_id: NetworkId
Implementations§
source§impl HandshakeMsg
impl HandshakeMsg
sourcepub fn perform_handshake(
&self,
other: &HandshakeMsg
) -> Result<(MessagingProtocolVersion, SupportedProtocols), HandshakeError>
pub fn perform_handshake( &self, other: &HandshakeMsg ) -> Result<(MessagingProtocolVersion, SupportedProtocols), HandshakeError>
This function:
- verifies that both HandshakeMsg are compatible and
- finds out the intersection of protocols that is supported
Trait Implementations§
source§impl Clone for HandshakeMsg
impl Clone for HandshakeMsg
source§fn clone(&self) -> HandshakeMsg
fn clone(&self) -> HandshakeMsg
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for HandshakeMsg
impl Debug for HandshakeMsg
source§impl Default for HandshakeMsg
impl Default for HandshakeMsg
source§fn default() -> HandshakeMsg
fn default() -> HandshakeMsg
Returns the “default value” for a type. Read more
source§impl<'de> Deserialize<'de> for HandshakeMsg
impl<'de> Deserialize<'de> for HandshakeMsg
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 Display for HandshakeMsg
impl Display for HandshakeMsg
Auto Trait Implementations§
impl RefUnwindSafe for HandshakeMsg
impl Send for HandshakeMsg
impl Sync for HandshakeMsg
impl Unpin for HandshakeMsg
impl UnwindSafe for HandshakeMsg
Blanket Implementations§
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>
§impl<T> PersistableConfig for Twhere
T: Serialize + DeserializeOwned + ?Sized,
impl<T> PersistableConfig for Twhere T: Serialize + DeserializeOwned + ?Sized,
§impl<T> Pointable for T
impl<T> Pointable for T
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.