mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
This change replaces all include guards in the `src/` and `include/` directories by `#pragma once`.
68 lines
1.5 KiB
C++
68 lines
1.5 KiB
C++
#pragma once
|
|
|
|
#include <xrpl/beast/utility/Journal.h>
|
|
#include <xrpl/nodestore/Database.h>
|
|
#include <xrpl/shamap/FullBelowCache.h>
|
|
#include <xrpl/shamap/TreeNodeCache.h>
|
|
|
|
#include <cstdint>
|
|
|
|
namespace xrpl {
|
|
|
|
class Family
|
|
{
|
|
public:
|
|
Family(Family const&) = delete;
|
|
Family(Family&&) = delete;
|
|
|
|
Family&
|
|
operator=(Family const&) = delete;
|
|
|
|
Family&
|
|
operator=(Family&&) = delete;
|
|
|
|
explicit Family() = default;
|
|
virtual ~Family() = default;
|
|
|
|
virtual NodeStore::Database&
|
|
db() = 0;
|
|
|
|
virtual NodeStore::Database const&
|
|
db() const = 0;
|
|
|
|
virtual beast::Journal const&
|
|
journal() = 0;
|
|
|
|
/** Return a pointer to the Family Full Below Cache */
|
|
virtual std::shared_ptr<FullBelowCache>
|
|
getFullBelowCache() = 0;
|
|
|
|
/** Return a pointer to the Family Tree Node Cache */
|
|
virtual std::shared_ptr<TreeNodeCache>
|
|
getTreeNodeCache() = 0;
|
|
|
|
virtual void
|
|
sweep() = 0;
|
|
|
|
/** Acquire ledger that has a missing node by ledger sequence
|
|
*
|
|
* @param refNum Sequence of ledger to acquire.
|
|
* @param nodeHash Hash of missing node to report in throw.
|
|
*/
|
|
virtual void
|
|
missingNodeAcquireBySeq(std::uint32_t refNum, uint256 const& nodeHash) = 0;
|
|
|
|
/** Acquire ledger that has a missing node by ledger hash
|
|
*
|
|
* @param refHash Hash of ledger to acquire.
|
|
* @param refNum Ledger sequence with missing node.
|
|
*/
|
|
virtual void
|
|
missingNodeAcquireByHash(uint256 const& refHash, std::uint32_t refNum) = 0;
|
|
|
|
virtual void
|
|
reset() = 0;
|
|
};
|
|
|
|
} // namespace xrpl
|