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

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.