xrpld
Loading...
Searching...
No Matches
xrpl::peer_finder::Config Struct Reference

PeerFinder configuration settings. More...

#include <Config.h>

Collaboration diagram for xrpl::peer_finder::Config:

Public Member Functions

std::size_t calcOutPeers () const
 Returns a suitable value for outPeers according to the rules.
void applyTuning ()
 Adjusts the values so they follow the business rules.
void onWrite (beast::PropertyStream::Map &map) const
 Write the configuration into a property stream.

Static Public Member Functions

static Config makeConfig (bool peerPrivate, bool standalone, PeerLimitConfig const &limits, std::uint16_t port, bool validationPublicKey, int ipLimit, bool verifyEndpoints)
 Make peer_finder::Config from peer limit and server mode parameters.

Public Attributes

std::size_t maxPeers {tuning::kDefaultMaxPeers}
 The largest number of public peer slots to allow.
std::size_t outPeers = calcOutPeers()
 The number of automatic outbound connections to maintain.
std::size_t inPeers {0}
 The number of automatic inbound connections to maintain.
bool peerPrivate = true
 true if we want our IP address kept private.
bool wantIncoming {true}
 true if we want to accept incoming connections.
bool autoConnect {true}
 true if we want to establish connections automatically
std::uint16_t listeningPort {0}
 The listening port number.
std::string features
 The set of features we advertise.
int ipLimit {0}
 Limit how many incoming connections we allow per IP.
bool verifyEndpoints = true
 true if we want to verify endpoints in TMEndpoints messages

Friends

bool operator== (Config const &lhs, Config const &rhs)=default
 Compares two configurations for equality field by field.

Detailed Description

PeerFinder configuration settings.

Definition at line 24 of file include/xrpl/peerfinder/Config.h.

Member Function Documentation

◆ calcOutPeers()

std::size_t xrpl::peer_finder::Config::calcOutPeers ( ) const
nodiscard

Returns a suitable value for outPeers according to the rules.

Definition at line 13 of file libxrpl/peerfinder/Config.cpp.

◆ applyTuning()

void xrpl::peer_finder::Config::applyTuning ( )

Adjusts the values so they follow the business rules.

Definition at line 20 of file libxrpl/peerfinder/Config.cpp.

◆ onWrite()

void xrpl::peer_finder::Config::onWrite ( beast::PropertyStream::Map & map) const

Write the configuration into a property stream.

Definition at line 39 of file libxrpl/peerfinder/Config.cpp.

◆ makeConfig()

Config xrpl::peer_finder::Config::makeConfig ( bool peerPrivate,
bool standalone,
PeerLimitConfig const & limits,
std::uint16_t port,
bool validationPublicKey,
int ipLimit,
bool verifyEndpoints )
static

Make peer_finder::Config from peer limit and server mode parameters.

Definition at line 52 of file libxrpl/peerfinder/Config.cpp.

◆ operator==

bool operator== ( Config const & lhs,
Config const & rhs )
friend

Compares two configurations for equality field by field.

Member Data Documentation

◆ maxPeers

std::size_t xrpl::peer_finder::Config::maxPeers {tuning::kDefaultMaxPeers}

The largest number of public peer slots to allow.

This includes both inbound and outbound, but does not include fixed peers.

Definition at line 31 of file include/xrpl/peerfinder/Config.h.

◆ outPeers

std::size_t xrpl::peer_finder::Config::outPeers = calcOutPeers()

The number of automatic outbound connections to maintain.

Outbound connections are only maintained if autoConnect is true.

Definition at line 38 of file include/xrpl/peerfinder/Config.h.

◆ inPeers

std::size_t xrpl::peer_finder::Config::inPeers {0}

The number of automatic inbound connections to maintain.

Inbound connections are only maintained if wantIncoming is true.

Definition at line 45 of file include/xrpl/peerfinder/Config.h.

◆ peerPrivate

bool xrpl::peer_finder::Config::peerPrivate = true

true if we want our IP address kept private.

Definition at line 50 of file include/xrpl/peerfinder/Config.h.

◆ wantIncoming

bool xrpl::peer_finder::Config::wantIncoming {true}

true if we want to accept incoming connections.

Definition at line 55 of file include/xrpl/peerfinder/Config.h.

◆ autoConnect

bool xrpl::peer_finder::Config::autoConnect {true}

true if we want to establish connections automatically

Definition at line 60 of file include/xrpl/peerfinder/Config.h.

◆ listeningPort

std::uint16_t xrpl::peer_finder::Config::listeningPort {0}

The listening port number.

Definition at line 65 of file include/xrpl/peerfinder/Config.h.

◆ features

std::string xrpl::peer_finder::Config::features

The set of features we advertise.

Definition at line 70 of file include/xrpl/peerfinder/Config.h.

◆ ipLimit

int xrpl::peer_finder::Config::ipLimit {0}

Limit how many incoming connections we allow per IP.

Definition at line 75 of file include/xrpl/peerfinder/Config.h.

◆ verifyEndpoints

bool xrpl::peer_finder::Config::verifyEndpoints = true

true if we want to verify endpoints in TMEndpoints messages

Definition at line 80 of file include/xrpl/peerfinder/Config.h.