1#ifndef XRPL_NODESTORE_FACTORY_H_INCLUDED
2#define XRPL_NODESTORE_FACTORY_H_INCLUDED
4#include <xrpl/basics/BasicConfig.h>
5#include <xrpl/beast/utility/Journal.h>
6#include <xrpl/nodestore/Backend.h>
7#include <xrpl/nodestore/Scheduler.h>
9#include <nudb/store.hpp>
56 nudb::context& context,
A generic endpoint for log messages.
Base class for backend factories.
virtual std::string getName() const =0
Retrieve the name of this factory.
virtual ~Factory()=default
virtual std::unique_ptr< Backend > createInstance(size_t keyBytes, Section const ¶meters, std::size_t burstSize, Scheduler &scheduler, nudb::context &context, beast::Journal journal)
Create an instance of this factory's backend.
virtual std::unique_ptr< Backend > createInstance(size_t keyBytes, Section const ¶meters, std::size_t burstSize, Scheduler &scheduler, beast::Journal journal)=0
Create an instance of this factory's backend.
Scheduling for asynchronous backend activity.
Holds a collection of configuration values.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.