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 bit vector of supported
ProtocolId
s.
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.