Module network::protocols::wire::handshake::v1 [−][src]
Expand description
This module defines the structs transported during the network handshake protocol v1. These should serialize as per the DiemNet Handshake v1 Specification.
During the v1 Handshake protocol, both end-points of a connection send a serialized and
length-prefixed HandshakeMsg to each other. The handshake message contains a map from
supported messaging protocol versions to a bit vector representing application protocols
supported over that messaging protocol. On receipt, both ends will determine the highest
intersecting messaging protocol version and use that for the remainder of the session.
Structs
The HandshakeMsg contains a mapping from MessagingProtocolVersion
suppported by the node to a bit-vector specifying application-level protocols
supported over that version.
A compact representation for a set of ProtocolIds. Internally, this is a
bitvec which supports at most 256 bits.
Enums
An enum to list the possible errors during the diem handshake negotiation
Enum representing different versions of the Diem network protocol. These
should be listed from old to new, old having the smallest value. We derive
PartialOrd since nodes need to find highest intersecting protocol version.
Unique identifier associated with each application protocol.