22#include "data/LedgerCacheLoadingState.hpp"
23#include "etl/WriterState.hpp"
25#include <boost/json/conversion.hpp>
26#include <boost/json/value.hpp>
27#include <boost/uuid/uuid.hpp>
68 using Uuid = std::shared_ptr<boost::uuids::uuid>;
69 using CUuid = std::shared_ptr<boost::uuids::uuid const>;
72 std::chrono::system_clock::time_point
96tag_invoke(boost::json::value_from_tag, boost::json::value& jv,
ClioNode const& node);
99tag_invoke(boost::json::value_to_tag<ClioNode>, boost::json::value
const& jv);
Interface for coordinating cache loading permissions across a cluster.
Definition LedgerCacheLoadingState.hpp:37
Interface for managing writer state in the ETL subsystem.
Definition WriterState.hpp:40
Represents a node in the cluster.
Definition ClioNode.hpp:37
bool etlStarted
Whether the ETL monitor has started on this node.
Definition ClioNode.hpp:75
bool cacheIsCurrentlyLoading
Whether this node is currently loading the ledger cache.
Definition ClioNode.hpp:77
bool cacheIsFull
Whether the ledger cache is fully loaded on this node.
Definition ClioNode.hpp:76
Uuid uuid
The UUID of the node.
Definition ClioNode.hpp:71
DbRole dbRole
The database role of the node.
Definition ClioNode.hpp:74
std::chrono::system_clock::time_point updateTime
The time the data about the node was last updated.
Definition ClioNode.hpp:73
DbRole
Database role of a node in the cluster.
Definition ClioNode.hpp:59
static constexpr char const * kTIME_FORMAT
The format of the time to store in the database.
Definition ClioNode.hpp:41
static ClioNode from(Uuid uuid, etl::WriterStateInterface const &writerState, data::LedgerCacheLoadingStateInterface const &cacheLoadingState)
Create a ClioNode from writer state and cache loading state.
Definition ClioNode.cpp:55