20 #include <ripple/app/ledger/LedgerMaster.h>
21 #include <ripple/app/main/Application.h>
22 #include <ripple/app/main/Tuning.h>
23 #include <ripple/shamap/NodeFamily.h>
30 , db_(app.getNodeStore())
31 , j_(app.journal(
"NodeFamily"))
33 "Node family full below cache",
35 app.journal(
"NodeFamilyFulLBelowCache"),
40 "Node family tree node cache",
71 JLOG(
j_.
error()) <<
"Missing node in " << seq;
75 ss <<
"Node not read, likely a Cassandra error in ledger seq " << seq
76 <<
" object hash " << nodeHash;
77 Throw<std::runtime_error>(ss.
str());
Remembers which tree keys have all descendants resident.
Provides the beast::insight::Collector service.
Stopwatch & stopwatch()
Returns an instance of a wall clock.
constexpr std::chrono::seconds fullBelowExpiration
virtual InboundLedgers & getInboundLedgers()=0
virtual LedgerMaster & getLedgerMaster()=0
virtual std::shared_ptr< Ledger const > acquire(uint256 const &hash, std::uint32_t seq, InboundLedger::Reason)=0
virtual Config & config()=0
void acquire(uint256 const &hash, std::uint32_t seq)
constexpr std::size_t fullBelowTargetSize
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::shared_ptr< TreeNodeCache > tnCache_
void missingNodeAcquireBySeq(std::uint32_t seq, uint256 const &hash) override
Acquire ledger that has a missing node by ledger sequence.
std::string to_string(Manifest const &m)
Format the specified manifest to a string for debugging purposes.
std::shared_ptr< FullBelowCache > fbCache_
uint256 getHashBySeq(std::uint32_t index)
Get a ledger's hash by sequence number using the cache.