xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
include
xrpl
nodestore
Manager.h
1
#pragma once
2
3
#include <xrpl/beast/utility/Journal.h>
4
#include <xrpl/nodestore/Backend.h>
5
#include <xrpl/nodestore/Database.h>
6
#include <xrpl/nodestore/Factory.h>
7
#include <xrpl/nodestore/Scheduler.h>
8
9
#include <
cstddef
>
10
#include <
memory
>
11
#include <
string
>
12
13
namespace
xrpl::node_store
{
14
18
class
Manager
19
{
20
public
:
21
virtual
~Manager
() =
default
;
22
Manager
() =
default
;
23
Manager
(
Manager
const
&) =
delete
;
24
Manager
&
25
operator=
(
Manager
const
&) =
delete
;
26
30
static
Manager
&
31
instance
();
32
36
virtual
void
37
insert
(
Factory
& factory) = 0;
38
42
virtual
void
43
erase
(
Factory
& factory) = 0;
44
50
virtual
Factory
*
51
find
(
std::string
const
& name) = 0;
52
56
virtual
std::unique_ptr<Backend>
57
makeBackend
(
58
Section
const
& parameters,
59
std::size_t
burstSize,
60
Scheduler
& scheduler,
61
beast::Journal
journal) = 0;
62
92
virtual
std::unique_ptr<Database>
93
makeDatabase
(
94
std::size_t
burstSize,
95
Scheduler
& scheduler,
96
int
readThreads,
97
Section
const
& backendParameters,
98
beast::Journal
journal) = 0;
99
};
100
101
}
// namespace xrpl::node_store
std::string
beast::Journal
A generic endpoint for log messages.
Definition
Journal.h:44
xrpl::Section
Holds a collection of configuration values.
Definition
BasicConfig.h:28
xrpl::node_store::Factory
Base class for backend factories.
Definition
Factory.h:23
xrpl::node_store::Manager::operator=
Manager & operator=(Manager const &)=delete
xrpl::node_store::Manager::makeBackend
virtual std::unique_ptr< Backend > makeBackend(Section const ¶meters, std::size_t burstSize, Scheduler &scheduler, beast::Journal journal)=0
Create a backend.
xrpl::node_store::Manager::insert
virtual void insert(Factory &factory)=0
Add a factory.
xrpl::node_store::Manager::Manager
Manager()=default
xrpl::node_store::Manager::makeDatabase
virtual std::unique_ptr< Database > makeDatabase(std::size_t burstSize, Scheduler &scheduler, int readThreads, Section const &backendParameters, beast::Journal journal)=0
Construct a NodeStore database.
xrpl::node_store::Manager::Manager
Manager(Manager const &)=delete
xrpl::node_store::Manager::instance
static Manager & instance()
Returns the instance of the manager singleton.
Definition
ManagerImp.cpp:133
xrpl::node_store::Manager::find
virtual Factory * find(std::string const &name)=0
Return a pointer to the matching factory if it exists.
xrpl::node_store::Manager::erase
virtual void erase(Factory &factory)=0
Remove a factory.
xrpl::node_store::Manager::~Manager
virtual ~Manager()=default
xrpl::node_store::Scheduler
Scheduling for asynchronous backend activity.
Definition
include/xrpl/nodestore/Scheduler.h:46
cstddef
memory
xrpl::node_store
Definition
ServiceRegistry.h:18
std::size_t
string
std::unique_ptr
Generated by
1.17.0