xrpld
Loading...
Searching...
No Matches
AccountStateSF.h
1#pragma once
2
3#include <xrpld/app/ledger/AbstractFetchPackContainer.h>
4
5#include <xrpl/basics/Blob.h>
6#include <xrpl/basics/SHAMapHash.h>
7#include <xrpl/nodestore/Database.h>
8#include <xrpl/shamap/SHAMapSyncFilter.h>
9#include <xrpl/shamap/SHAMapTreeNode.h>
10
11#include <cstdint>
12#include <optional>
13
14namespace xrpl {
15
16// This class is only needed on add functions
17// sync filter for account state nodes during ledger sync
19{
20public:
24
25 void
26 gotNode(
27 bool fromFilter,
28 SHAMapHash const& nodeHash,
29 std::uint32_t ledgerSeq,
30 Blob&& nodeData,
31 SHAMapNodeType type) const override;
32
33 [[nodiscard]] std::optional<Blob>
34 getNode(SHAMapHash const& nodeHash) const override;
35
36private:
39};
40
41} // namespace xrpl
An interface facilitating retrieval of fetch packs without an application or ledgermaster object.
node_store::Database & db_
AccountStateSF(node_store::Database &db, AbstractFetchPackContainer &fp)
void gotNode(bool fromFilter, SHAMapHash const &nodeHash, std::uint32_t ledgerSeq, Blob &&nodeData, SHAMapNodeType type) const override
std::optional< Blob > getNode(SHAMapHash const &nodeHash) const override
AbstractFetchPackContainer & fp_
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
std::vector< unsigned char > Blob
Storage for linear binary data.
Definition Blob.h:11