3#include "data/LedgerCacheLoadingState.hpp"
4#include "etl/WriterState.hpp"
6#include <boost/json/conversion.hpp>
7#include <boost/json/value.hpp>
8#include <boost/uuid/uuid.hpp>
49 using Uuid = std::shared_ptr<boost::uuids::uuid>;
50 using CUuid = std::shared_ptr<boost::uuids::uuid const>;
53 std::chrono::system_clock::time_point
77tag_invoke(boost::json::value_from_tag, boost::json::value& jv,
ClioNode const& node);
80tag_invoke(boost::json::value_to_tag<ClioNode>, boost::json::value
const& jv);
Interface for coordinating cache loading permissions across a cluster.
Definition LedgerCacheLoadingState.hpp:18
Interface for managing writer state in the ETL subsystem.
Definition WriterState.hpp:21
Represents a node in the cluster.
Definition ClioNode.hpp:18
bool etlStarted
Whether the ETL monitor has started on this node.
Definition ClioNode.hpp:56
bool cacheIsCurrentlyLoading
Whether this node is currently loading the ledger cache.
Definition ClioNode.hpp:58
bool cacheIsFull
Whether the ledger cache is fully loaded on this node.
Definition ClioNode.hpp:57
Uuid uuid
The UUID of the node.
Definition ClioNode.hpp:52
DbRole dbRole
The database role of the node.
Definition ClioNode.hpp:55
std::chrono::system_clock::time_point updateTime
The time the data about the node was last updated.
Definition ClioNode.hpp:54
DbRole
Database role of a node in the cluster.
Definition ClioNode.hpp:40
static constexpr char const * kTIME_FORMAT
The format of the time to store in the database.
Definition ClioNode.hpp:22
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:36