xrpld
Loading...
Searching...
No Matches
ManagerImp.h
1#pragma once
2
3#include <xrpl/nodestore/Manager.h>
4
5namespace xrpl::NodeStore {
6
7class ManagerImp : public Manager
8{
9private:
12
13public:
14 static ManagerImp&
15 instance();
16
17 static void
19
20 ManagerImp();
21
22 ~ManagerImp() override = default;
23
24 Factory*
25 find(std::string const& name) override;
26
27 void
28 insert(Factory& factory) override;
29
30 void
31 erase(Factory& factory) override;
32
35 Section const& parameters,
36 std::size_t burstSize,
37 Scheduler& scheduler,
38 beast::Journal journal) override;
39
42 std::size_t burstSize,
43 Scheduler& scheduler,
44 int readThreads,
45 Section const& config,
46 beast::Journal journal) override;
47};
48
49} // namespace xrpl::NodeStore
A generic endpoint for log messages.
Definition Journal.h:38
Base class for backend factories.
Definition Factory.h:17
void insert(Factory &factory) override
Add a factory.
void erase(Factory &factory) override
Remove a factory.
~ManagerImp() override=default
std::vector< Factory * > list_
Definition ManagerImp.h:11
std::unique_ptr< Database > makeDatabase(std::size_t burstSize, Scheduler &scheduler, int readThreads, Section const &config, beast::Journal journal) override
Construct a NodeStore database.
static ManagerImp & instance()
std::unique_ptr< Backend > makeBackend(Section const &parameters, std::size_t burstSize, Scheduler &scheduler, beast::Journal journal) override
Create a backend.
Factory * find(std::string const &name) override
Return a pointer to the matching factory if it exists.
Scheduling for asynchronous backend activity.
Holds a collection of configuration values.
Definition BasicConfig.h:24