xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
xrpld
overlay
detail
ProtocolVersion.h
1
#pragma once
2
3
#include <
cstdint
>
4
#include <
optional
>
5
#include <
string
>
6
#include <
string_view
>
7
#include <
utility
>
8
#include <
vector
>
9
10
namespace
xrpl
{
11
18
using
ProtocolVersion
=
std::pair<std::uint16_t, std::uint16_t>
;
19
20
constexpr
ProtocolVersion
21
makeProtocol
(
std::uint16_t
major,
std::uint16_t
minor)
22
{
23
return
{major, minor};
24
}
25
29
std::string
30
to_string
(
ProtocolVersion
const
& p);
31
44
std::vector<ProtocolVersion>
45
parseProtocolVersions
(
std::string_view
s);
46
50
std::optional<ProtocolVersion>
51
negotiateProtocolVersion
(
std::vector<ProtocolVersion>
const
& versions);
52
56
std::optional<ProtocolVersion>
57
negotiateProtocolVersion
(
std::string_view
versions);
58
62
std::string
const
&
63
supportedProtocolVersions
();
64
68
bool
69
isProtocolSupported
(
ProtocolVersion
const
& v);
70
77
ProtocolVersion
78
newestSupportedProtocolVersion
();
79
80
}
// namespace xrpl
std::string
std::string_view
cstdint
std::uint16_t
xrpl
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition
algorithm.h:5
xrpl::newestSupportedProtocolVersion
ProtocolVersion newestSupportedProtocolVersion()
The version negotiated with a peer that speaks everything we speak, so also the one that enables ever...
Definition
ProtocolVersion.cpp:155
xrpl::isProtocolSupported
bool isProtocolSupported(ProtocolVersion const &v)
Determine whether we support a specific protocol version.
Definition
ProtocolVersion.cpp:149
xrpl::negotiateProtocolVersion
std::optional< ProtocolVersion > negotiateProtocolVersion(std::vector< ProtocolVersion > const &versions)
Given a list of supported protocol versions, choose the one we prefer.
Definition
ProtocolVersion.cpp:104
xrpl::to_string
std::string to_string(BaseUInt< Bits, Tag > const &a)
Definition
base_uint.h:657
xrpl::makeProtocol
constexpr ProtocolVersion makeProtocol(std::uint16_t major, std::uint16_t minor)
Definition
ProtocolVersion.h:21
xrpl::supportedProtocolVersions
std::string const & supportedProtocolVersions()
The list of all the protocol versions we support.
Definition
ProtocolVersion.cpp:131
xrpl::ProtocolVersion
std::pair< std::uint16_t, std::uint16_t > ProtocolVersion
Represents a particular version of the peer-to-peer protocol.
Definition
ProtocolVersion.h:18
xrpl::parseProtocolVersions
std::vector< ProtocolVersion > parseProtocolVersions(std::string_view value)
Parse a set of protocol versions.
Definition
ProtocolVersion.cpp:56
optional
std::pair
string
string_view
utility
vector
Generated by
1.17.0