Scorum
blockchain_monitoring_plugin.hpp
Go to the documentation of this file.
1 #pragma once
2 #include <scorum/app/plugin.hpp>
3 
5 
6 #ifndef BLOCKCHAIN_MONITORING_PLUGIN_NAME
7 #define BLOCKCHAIN_MONITORING_PLUGIN_NAME "blockchain_monitoring"
8 #endif
9 
10 namespace scorum {
11 namespace blockchain_monitoring {
12 
13 using app::application;
14 
15 namespace detail {
16 class blockchain_monitoring_plugin_impl;
17 }
18 
26 {
27 public:
30 
31  virtual std::string plugin_name() const override
32  {
34  }
35  virtual void plugin_set_program_options(boost::program_options::options_description& cli,
36  boost::program_options::options_description& cfg) override;
37  virtual void plugin_initialize(const boost::program_options::variables_map& options) override;
38  virtual void plugin_startup() override;
39 
40  const flat_set<uint32_t>& get_tracked_buckets() const;
41  uint32_t get_max_history_per_bucket() const;
42 
43  uint32_t get_last_block_duration_microseconds() const;
44 
45 private:
47  std::unique_ptr<detail::blockchain_monitoring_plugin_impl> _my;
48 };
49 
50 } // namespace blockchain_monitoring
51 } // namespace scorum
#define BLOCKCHAIN_MONITORING_PLUGIN_NAME
application & app() const
Definition: plugin.hpp:119
virtual void plugin_initialize(const boost::program_options::variables_map &options) override
Perform early startup routines and register plugin indexes, callbacks, etc.
virtual void plugin_startup() override
Begin normal runtime operations.
virtual void plugin_set_program_options(boost::program_options::options_description &cli, boost::program_options::options_description &cfg) override
Fill in command line parameters used by the plugin.
Definition: asset.cpp:15