rippled
Loading...
Searching...
No Matches
Manager.h
1#pragma once
2
3#include <xrpl/nodestore/DatabaseRotating.h>
4#include <xrpl/nodestore/Factory.h>
5
6namespace xrpl {
7
8namespace NodeStore {
9
12{
13public:
14 virtual ~Manager() = default;
15 Manager() = default;
16 Manager(Manager const&) = delete;
17 Manager&
18 operator=(Manager const&) = delete;
19
21 static Manager&
22 instance();
23
25 virtual void
26 insert(Factory& factory) = 0;
27
29 virtual void
30 erase(Factory& factory) = 0;
31
36 virtual Factory*
37 find(std::string const& name) = 0;
38
41 make_Backend(Section const& parameters, std::size_t burstSize, Scheduler& scheduler, beast::Journal journal) = 0;
42
74 Scheduler& scheduler,
75 int readThreads,
76 Section const& backendParameters,
77 beast::Journal journal) = 0;
78};
79
80} // namespace NodeStore
81} // namespace xrpl
A generic endpoint for log messages.
Definition Journal.h:40
Base class for backend factories.
Definition Factory.h:16
Singleton for managing NodeStore factories and back ends.
Definition Manager.h:12
Manager & operator=(Manager const &)=delete
static Manager & instance()
Returns the instance of the manager singleton.
virtual ~Manager()=default
virtual void erase(Factory &factory)=0
Remove a factory.
virtual void insert(Factory &factory)=0
Add a factory.
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.
virtual std::unique_ptr< Backend > make_Backend(Section const &parameters, std::size_t burstSize, Scheduler &scheduler, beast::Journal journal)=0
Create a backend.
virtual Factory * find(std::string const &name)=0
Return a pointer to the matching factory if it exists.
Manager(Manager const &)=delete
Scheduling for asynchronous backend activity.
Holds a collection of configuration values.
Definition BasicConfig.h:24
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5