1#include <xrpld/shamap/NodeFamily.h>
3#include <xrpld/app/ledger/InboundLedger.h>
4#include <xrpld/app/ledger/LedgerMaster.h>
5#include <xrpld/app/main/Application.h>
6#include <xrpld/app/main/CollectorManager.h>
7#include <xrpld/app/main/Tuning.h>
8#include <xrpld/core/Config.h>
10#include <xrpl/basics/Log.h>
11#include <xrpl/basics/base_uint.h>
12#include <xrpl/basics/chrono.h>
13#include <xrpl/shamap/FullBelowCache.h>
14#include <xrpl/shamap/TreeNodeCache.h>
25 ,
db_(app.getNodeStore())
26 ,
j_(app.getJournal(
"NodeFamily"))
29 "Node family full below cache",
31 app.getJournal(
"NodeFamilyFulLBelowCache"),
37 "Node family tree node cache",
67 JLOG(
j_.error()) <<
"Missing node in " << seq;
81 acquire(
app_.getLedgerMaster().getHashBySeq(seq), seq);
98 JLOG(
j_.error()) <<
"Missing node in " <<
to_string(hash);
Provides the beast::insight::Collector service.
std::shared_ptr< TreeNodeCache > tnCache_
NodeStore::Database & db_
void acquire(uint256 const &hash, std::uint32_t seq)
std::shared_ptr< FullBelowCache > fbCache_
void missingNodeAcquireBySeq(std::uint32_t seq, uint256 const &hash) override
Acquire ledger that has a missing node by ledger sequence.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Stopwatch & stopwatch()
Returns an instance of a wall clock.
constexpr std::size_t kFullBelowTargetSize
detail::BasicFullBelowCache FullBelowCache
constexpr std::chrono::seconds kFullBelowExpiration
TaggedCache< uint256, SHAMapTreeNode, false, intr_ptr::SharedWeakUnionPtr< SHAMapTreeNode >, SHAMapTreeNodePtr > TreeNodeCache
std::string to_string(BaseUInt< Bits, Tag > const &a)