20#ifndef RIPPLE_OVERLAY_PROTOCOLVERSION_H_INCLUDED
21#define RIPPLE_OVERLAY_PROTOCOLVERSION_H_INCLUDED
23#include <boost/beast/core/string.hpp>
43 return {major, minor};
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::optional< ProtocolVersion > negotiateProtocolVersion(std::vector< ProtocolVersion > const &versions)
Given a list of supported protocol versions, choose the one we prefer.
std::pair< std::uint16_t, std::uint16_t > ProtocolVersion
Represents a particular version of the peer-to-peer protocol.
std::vector< ProtocolVersion > parseProtocolVersions(boost::beast::string_view const &value)
Parse a set of protocol versions.
constexpr ProtocolVersion make_protocol(std::uint16_t major, std::uint16_t minor)
std::string const & supportedProtocolVersions()
The list of all the protocol versions we support.
std::string to_string(base_uint< Bits, Tag > const &a)
bool isProtocolSupported(ProtocolVersion const &v)
Determine whether we support a specific protocol version.