TARAXA
Loading...
Searching...
No Matches
taraxa::plugin::Light Class Reference

#include <light.hpp>

Collaboration diagram for taraxa::plugin::Light:

Public Member Functions

 Light (std::shared_ptr< AppBase > app)
 
std::string name () const override
 
std::string description () const override
 
void init (const boost::program_options::variables_map &options) override
 
void addOptions (boost::program_options::options_description &command_line_options) override
 
void start () override
 
void shutdown () override
 
void clearLightNodeHistory (bool live_cleanup=false)
 
- Public Member Functions inherited from taraxa::Plugin
 Plugin (std::shared_ptr< AppBase > &a)
 
virtual ~Plugin ()=default
 
std::shared_ptr< AppBaseapp () const
 

Private Member Functions

void clearHistory (PbftPeriod end_period, uint64_t dag_level_to_keep, bool live_cleanup)
 Clears light node history.
 
void clearNonBlockData (PbftPeriod start, PbftPeriod end, bool live_cleanup)
 
void recreateNonBlockData (PbftPeriod last_block_number)
 
void pruneStateDb ()
 
uint64_t getCleanupPeriod (uint64_t dag_period, std::optional< uint64_t > proposal_period) const
 

Private Attributes

std::shared_ptr< util::ThreadPoolcleanup_pool_ = std::make_shared<util::ThreadPool>(1)
 
uint64_t & history_
 
bool state_db_pruning_
 
bool live_cleanup_
 
std::atomic< bool > live_cleanup_in_progress_ = false
 

Static Private Attributes

static constexpr uint64_t kPeriodsToKeepNonBlockData = 1000
 

Additional Inherited Members

- Protected Attributes inherited from taraxa::Plugin
std::weak_ptr< AppBase_app
 

Constructor & Destructor Documentation

◆ Light()

taraxa::plugin::Light::Light ( std::shared_ptr< AppBase app)
explicit

Member Function Documentation

◆ addOptions()

void taraxa::plugin::Light::addOptions ( boost::program_options::options_description &  command_line_options)
overridevirtual

Implements taraxa::Plugin.

◆ clearHistory()

void taraxa::plugin::Light::clearHistory ( PbftPeriod  end_period,
uint64_t  dag_level_to_keep,
bool  live_cleanup 
)
private

Clears light node history.

◆ clearLightNodeHistory()

void taraxa::plugin::Light::clearLightNodeHistory ( bool  live_cleanup = false)

◆ clearNonBlockData()

void taraxa::plugin::Light::clearNonBlockData ( PbftPeriod  start,
PbftPeriod  end,
bool  live_cleanup 
)
private

◆ description()

std::string taraxa::plugin::Light::description ( ) const
inlineoverridevirtual

Implements taraxa::Plugin.

◆ getCleanupPeriod()

uint64_t taraxa::plugin::Light::getCleanupPeriod ( uint64_t  dag_period,
std::optional< uint64_t >  proposal_period 
) const
private

◆ init()

void taraxa::plugin::Light::init ( const boost::program_options::variables_map &  options)
overridevirtual

Implements taraxa::Plugin.

◆ name()

std::string taraxa::plugin::Light::name ( ) const
inlineoverridevirtual

Implements taraxa::Plugin.

◆ pruneStateDb()

void taraxa::plugin::Light::pruneStateDb ( )
private

◆ recreateNonBlockData()

void taraxa::plugin::Light::recreateNonBlockData ( PbftPeriod  last_block_number)
private

◆ shutdown()

void taraxa::plugin::Light::shutdown ( )
overridevirtual

Implements taraxa::Plugin.

◆ start()

void taraxa::plugin::Light::start ( )
overridevirtual

Implements taraxa::Plugin.

Member Data Documentation

◆ cleanup_pool_

std::shared_ptr<util::ThreadPool> taraxa::plugin::Light::cleanup_pool_ = std::make_shared<util::ThreadPool>(1)
private

◆ history_

uint64_t& taraxa::plugin::Light::history_
private

◆ kPeriodsToKeepNonBlockData

constexpr uint64_t taraxa::plugin::Light::kPeriodsToKeepNonBlockData = 1000
staticconstexprprivate

◆ live_cleanup_

bool taraxa::plugin::Light::live_cleanup_
private

◆ live_cleanup_in_progress_

std::atomic<bool> taraxa::plugin::Light::live_cleanup_in_progress_ = false
private

◆ state_db_pruning_

bool taraxa::plugin::Light::state_db_pruning_
private

The documentation for this class was generated from the following files: