rippled
Loading...
Searching...
No Matches
Family.h
1#pragma once
2
3#include <xrpl/beast/utility/Journal.h>
4#include <xrpl/nodestore/Database.h>
5#include <xrpl/shamap/FullBelowCache.h>
6#include <xrpl/shamap/TreeNodeCache.h>
7
8#include <cstdint>
9
10namespace xrpl {
11
12class Family
13{
14public:
15 Family(Family const&) = delete;
16 Family(Family&&) = delete;
17
18 Family&
19 operator=(Family const&) = delete;
20
21 Family&
22 operator=(Family&&) = delete;
23
24 explicit Family() = default;
25 virtual ~Family() = default;
26
27 virtual NodeStore::Database&
28 db() = 0;
29
30 virtual NodeStore::Database const&
31 db() const = 0;
32
33 virtual beast::Journal const&
34 journal() = 0;
35
39
43
44 virtual void
45 sweep() = 0;
46
52 virtual void
53 missingNodeAcquireBySeq(std::uint32_t refNum, uint256 const& nodeHash) = 0;
54
60 virtual void
61 missingNodeAcquireByHash(uint256 const& refHash, std::uint32_t refNum) = 0;
62
63 virtual void
64 reset() = 0;
65};
66
67} // namespace xrpl
A generic endpoint for log messages.
Definition Journal.h:40
virtual beast::Journal const & journal()=0
virtual ~Family()=default
virtual NodeStore::Database & db()=0
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.
virtual NodeStore::Database const & db() const =0
Family & operator=(Family &&)=delete
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:31
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5