20#ifndef RIPPLE_NODESTORE_MANAGER_H_INCLUDED
21#define RIPPLE_NODESTORE_MANAGER_H_INCLUDED
23#include <xrpld/nodestore/DatabaseRotating.h>
24#include <xrpld/nodestore/Factory.h>
100 Section const& backendParameters,
A generic endpoint for log messages.
Base class for backend factories.
Singleton for managing NodeStore factories and back ends.
virtual std::unique_ptr< Backend > make_Backend(Section const ¶meters, std::size_t burstSize, Scheduler &scheduler, beast::Journal journal)=0
Create a backend.
virtual std::unique_ptr< Database > make_Database(std::size_t burstSize, Scheduler &scheduler, int readThreads, Section const &backendParameters, beast::Journal journal)=0
Construct a NodeStore database.
static Manager & instance()
Returns the instance of the manager singleton.
Manager(Manager const &)=delete
virtual Factory * find(std::string const &name)=0
Return a pointer to the matching factory if it exists.
virtual ~Manager()=default
virtual void erase(Factory &factory)=0
Remove a factory.
virtual void insert(Factory &factory)=0
Add a factory.
Manager & operator=(Manager const &)=delete
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.