xrpld
Loading...
Searching...
No Matches
LedgerCleaner.h
1#pragma once
2
3#include <xrpld/app/main/Application.h>
4
5#include <xrpl/beast/utility/Journal.h>
6#include <xrpl/beast/utility/PropertyStream.h>
7#include <xrpl/json/json_value.h>
8
9#include <memory>
10
11namespace xrpl {
12
17{
18protected:
19 LedgerCleaner() : beast::PropertyStream::Source("ledgercleaner")
20 {
21 }
22
23public:
24 ~LedgerCleaner() override = default;
25
26 virtual void
27 start() = 0;
28
29 virtual void
30 stop() = 0;
31
43 virtual void
44 clean(json::Value const& parameters) = 0;
45};
46
49
50} // namespace xrpl
A generic endpoint for log messages.
Definition Journal.h:44
Subclasses can be called to write to a stream and have children.
Represents a JSON value.
Definition json_value.h:117
~LedgerCleaner() override=default
virtual void stop()=0
virtual void start()=0
virtual void clean(json::Value const &parameters)=0
Start a long running task to clean the ledger.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
std::unique_ptr< LedgerCleaner > makeLedgerCleaner(Application &app, beast::Journal journal)