rippled
Loading...
Searching...
No Matches
ManagerImp.h
1#pragma once
2
3#include <xrpl/nodestore/Manager.h>
4
5namespace xrpl {
6
7namespace NodeStore {
8
9class ManagerImp : public Manager
10{
11private:
14
15public:
16 static ManagerImp&
17 instance();
18
19 static void
21
22 ManagerImp();
23
24 ~ManagerImp() = default;
25
26 Factory*
27 find(std::string const& name) override;
28
29 void
30 insert(Factory& factory) override;
31
32 void
33 erase(Factory& factory) override;
34
36 make_Backend(Section const& parameters, std::size_t burstSize, Scheduler& scheduler, beast::Journal journal)
37 override;
38
42 Scheduler& scheduler,
43 int readThreads,
44 Section const& config,
45 beast::Journal journal) override;
46};
47
48} // namespace NodeStore
49} // namespace xrpl
A generic endpoint for log messages.
Definition Journal.h:40
Base class for backend factories.
Definition Factory.h:16
void insert(Factory &factory) override
Add a factory.
void erase(Factory &factory) override
Remove a factory.
std::unique_ptr< Backend > make_Backend(Section const &parameters, std::size_t burstSize, Scheduler &scheduler, beast::Journal journal) override
Create a backend.
std::vector< Factory * > list_
Definition ManagerImp.h:13
static ManagerImp & instance()
std::unique_ptr< Database > make_Database(std::size_t burstSize, Scheduler &scheduler, int readThreads, Section const &config, beast::Journal journal) override
Construct a NodeStore database.
Factory * find(std::string const &name) override
Return a pointer to the matching factory if it exists.
Singleton for managing NodeStore factories and back ends.
Definition Manager.h:12
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