xrpld
Loading...
Searching...
No Matches
Family.h
1#pragma once
2
3#include <xrpl/basics/base_uint.h>
4#include <xrpl/beast/utility/Journal.h>
5#include <xrpl/nodestore/Database.h>
6#include <xrpl/shamap/FullBelowCache.h>
7#include <xrpl/shamap/TreeNodeCache.h>
8
9#include <cstdint>
10#include <memory>
11
12namespace xrpl {
13
14class Family
15{
16public:
17 Family(Family const&) = delete;
18 Family(Family&&) = delete;
19
20 Family&
21 operator=(Family const&) = delete;
22
23 Family&
24 operator=(Family&&) = delete;
25
26 explicit Family() = default;
27 virtual ~Family() = default;
28
30 db() = 0;
31
32 [[nodiscard]] virtual node_store::Database const&
33 db() const = 0;
34
35 virtual beast::Journal const&
36 journal() = 0;
37
43
49
50 virtual void
51 sweep() = 0;
52
59 virtual void
60 missingNodeAcquireBySeq(std::uint32_t refNum, uint256 const& nodeHash) = 0;
61
68 virtual void
69 missingNodeAcquireByHash(uint256 const& refHash, std::uint32_t refNum) = 0;
70
71 virtual void
72 reset() = 0;
73};
74
75} // namespace xrpl
A generic endpoint for log messages.
Definition Journal.h:44
virtual node_store::Database & db()=0
virtual beast::Journal const & journal()=0
virtual ~Family()=default
Family(Family const &)=delete
Family(Family &&)=delete
Family & operator=(Family const &)=delete
Family()=default
virtual void missingNodeAcquireBySeq(std::uint32_t refNum, uint256 const &nodeHash)=0
Acquire ledger that has a missing node by ledger sequence.
virtual void sweep()=0
virtual void missingNodeAcquireByHash(uint256 const &refHash, std::uint32_t refNum)=0
Acquire ledger that has a missing node by ledger hash.
Family & operator=(Family &&)=delete
virtual node_store::Database const & db() const =0
virtual std::shared_ptr< TreeNodeCache > getTreeNodeCache()=0
Return a pointer to the Family Tree Node Cache.
virtual std::shared_ptr< FullBelowCache > getFullBelowCache()=0
Return a pointer to the Family Full Below Cache.
virtual void reset()=0
Persistency layer for NodeObject.
Definition Database.h:45
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
BaseUInt< 256 > uint256
Definition base_uint.h:580