20#include <xrpld/app/main/Application.h>
21#include <xrpld/app/misc/LoadFeeTrack.h>
22#include <xrpld/core/TimeKeeper.h>
23#include <xrpld/overlay/Cluster.h>
24#include <xrpld/overlay/Overlay.h>
25#include <xrpld/rpc/Context.h>
27#include <xrpl/protocol/ErrorCodes.h>
28#include <xrpl/protocol/jss.h>
42 for (
auto& p : jvResult[jss::peers])
44 if (p.isMember(jss::track))
46 auto const s = p[jss::track].
asString();
49 p[
"sanity"] =
"insane";
50 else if (s ==
"unknown")
51 p[
"sanity"] =
"unknown";
63 [&cluster, now, ref, &self](
ClusterNode const& node) {
71 json[jss::tag] = node.
name();
74 json[jss::fee] =
static_cast<double>(node.
getLoadFee()) / ref;
std::string asString() const
Returns the unquoted string value.
virtual Overlay & overlay()=0
virtual LoadFeeTrack & getFeeTrack()=0
virtual TimeKeeper & timeKeeper()=0
virtual Cluster & cluster()=0
virtual std::pair< PublicKey, SecretKey > const & nodeIdentity()=0
std::string const & name() const
std::uint32_t getLoadFee() const
NetClock::time_point getReportTime() const
PublicKey const & identity() const
void for_each(std::function< void(ClusterNode const &)> func) const
Invokes the callback once for every cluster node.
std::uint32_t getLoadBase() const
virtual Json::Value json()=0
Return diagnostics on the status of all peers.
time_point now() const override
Returns the current time, using the server's clock.
@ objectValue
object value (collection of name/value pairs).
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Json::Value doPeers(RPC::JsonContext &)
std::string toBase58(AccountID const &v)
Convert AccountID to base58 checked string.