1#include <xrpld/shamap/NodeFamily.h>
3#include <xrpld/app/ledger/InboundLedger.h>
4#include <xrpld/app/ledger/InboundLedgers.h>
5#include <xrpld/app/ledger/LedgerMaster.h>
6#include <xrpld/app/main/Application.h>
7#include <xrpld/app/main/CollectorManager.h>
8#include <xrpld/app/main/Tuning.h>
9#include <xrpld/core/Config.h>
11#include <xrpl/basics/Log.h>
12#include <xrpl/basics/base_uint.h>
13#include <xrpl/basics/chrono.h>
14#include <xrpl/shamap/FullBelowCache.h>
15#include <xrpl/shamap/TreeNodeCache.h>
26 ,
db_(app.getNodeStore())
27 ,
j_(app.getJournal(
"NodeFamily"))
30 "Node family full below cache",
32 app.getJournal(
"NodeFamilyFulLBelowCache"),
38 "Node family tree node cache",
68 JLOG(
j_.error()) <<
"Missing node in " << seq;
82 acquire(
app_.getLedgerMaster().getHashBySeq(seq), seq);
99 JLOG(
j_.error()) <<
"Missing node in " <<
to_string(hash);
Provides the beast::insight::Collector service.
std::shared_ptr< TreeNodeCache > tnCache_
void acquire(uint256 const &hash, std::uint32_t seq)
std::shared_ptr< FullBelowCache > fbCache_
node_store::Database & db_
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)