11 explicit Light(std::shared_ptr<AppBase>
app);
13 std::string
name()
const override {
return "light"; }
14 std::string
description()
const override {
return "Light node plugin"; }
16 void init(
const boost::program_options::variables_map& options)
override;
17 void addOptions(boost::program_options::options_description& command_line_options)
override;
19 void start()
override;
33 uint64_t
getCleanupPeriod(uint64_t dag_period, std::optional<uint64_t> proposal_period)
const;
36 std::shared_ptr<util::ThreadPool>
cleanup_pool_ = std::make_shared<util::ThreadPool>(1);
std::shared_ptr< AppBase > app() const
Definition plugin.hpp:14
void init(const boost::program_options::variables_map &options) override
Definition light.cpp:16
static constexpr uint64_t kPeriodsToKeepNonBlockData
Definition light.hpp:35
void start() override
Definition light.cpp:45
void shutdown() override
Definition light.cpp:64
uint64_t getCleanupPeriod(uint64_t dag_period, std::optional< uint64_t > proposal_period) const
Definition light.cpp:66
void addOptions(boost::program_options::options_description &command_line_options) override
Definition light.cpp:39
void clearNonBlockData(PbftPeriod start, PbftPeriod end, bool live_cleanup)
Definition light.cpp:103
void recreateNonBlockData(PbftPeriod last_block_number)
Definition light.cpp:129
std::shared_ptr< util::ThreadPool > cleanup_pool_
Definition light.hpp:36
bool state_db_pruning_
Definition light.hpp:38
void clearLightNodeHistory(bool live_cleanup=false)
Definition light.cpp:70
bool live_cleanup_
Definition light.hpp:39
std::string name() const override
Definition light.hpp:13
uint64_t & history_
Definition light.hpp:37
void pruneStateDb()
Definition light.cpp:196
std::atomic< bool > live_cleanup_in_progress_
Definition light.hpp:40
void clearHistory(PbftPeriod end_period, uint64_t dag_level_to_keep, bool live_cleanup)
Clears light node history.
Definition light.cpp:155
std::string description() const override
Definition light.hpp:14
#define LOG_OBJECTS_DEFINE
Definition logger.hpp:60
Definition http_processor.hpp:11
EthBlockNumber PbftPeriod
Definition types.hpp:24