1#include <xrpl/basics/base_uint.h>
2#include <xrpl/beast/utility/Journal.h>
3#include <xrpl/config/BasicConfig.h>
4#include <xrpl/nodestore/Backend.h>
5#include <xrpl/nodestore/Factory.h>
6#include <xrpl/nodestore/Manager.h>
7#include <xrpl/nodestore/NodeObject.h>
8#include <xrpl/nodestore/Scheduler.h>
9#include <xrpl/nodestore/Types.h>
32 open(
bool createIfMissing)
override
A generic endpoint for log messages.
Holds a collection of configuration values.
A backend used for the NodeStore.
Base class for backend factories.
Singleton for managing NodeStore factories and back ends.
bool isOpen() override
Returns true is the database is open.
Status fetch(uint256 const &, std::shared_ptr< NodeObject > *) override
Fetch a single object.
int fdRequired() const override
Returns the number of file descriptors the backend expects to need.
void forEach(std::function< void(std::shared_ptr< NodeObject >)> f) override
Visit every object in the database This is usually called during import.
void storeBatch(Batch const &batch) override
Store a group of objects.
void store(std::shared_ptr< NodeObject > const &object) override
Store a single object.
void close() override
Close the backend.
void open(bool createIfMissing) override
Open the backend.
~NullBackend() override=default
std::string getName() override
Get the human-readable name of this backend.
int getWriteLoad() override
Estimate the number of write operations pending.
void setDeletePath() override
Remove contents on disk upon destruction.
std::unique_ptr< Backend > createInstance(size_t, Section const &, std::size_t, Scheduler &, beast::Journal) override
Create an instance of this factory's backend.
NullFactory(Manager &manager)
std::string getName() const override
Retrieve the name of this factory.
Scheduling for asynchronous backend activity.
std::vector< std::shared_ptr< NodeObject > > Batch
A batch of NodeObjects to write at once.
Status
Return codes from Backend operations.
void registerNullFactory(Manager &manager)