3#include <boost/signals2/signal.hpp>
5namespace sysio {
namespace chain {
7 using boost::signals2::signal;
9 struct fork_database_impl;
29 const flat_set<digest_type>&,
wraps boost::filesystem::path to provide platform independent path manipulation.
manages light-weight state for all potential unconfirmed forks
static const uint32_t max_supported_version
block_state_ptr pending_head() const
block_state_ptr search_on_branch(const block_id_type &h, uint32_t block_num) const
branch_type fetch_branch(const block_id_type &h, uint32_t trim_after_block_num=std::numeric_limits< uint32_t >::max()) const
void remove(const block_id_type &id)
fetch_branch_from_impl
block_state_ptr root() const
void open(const std::function< void(block_timestamp_type, const flat_set< digest_type > &, const vector< digest_type > &)> &validator)
block_state_ptr head() const
void rollback_head_to_root()
static const uint32_t magic_number
block_header_state_ptr get_block_header(const block_id_type &id) const
void mark_valid(const block_state_ptr &h)
pair< branch_type, branch_type > fetch_branch_from(const block_id_type &first, const block_id_type &second) const
void reset(const block_header_state &root_bhs)
static const uint32_t min_supported_version
void add(const block_state_ptr &next_block, bool ignore_duplicate=false)
fork_database(const fc::path &data_dir)
void advance_root(const block_id_type &id)
block_state_ptr get_block(const block_id_type &id) const
deque< block_state_ptr > branch_type
std::shared_ptr< block_header_state > block_header_state_ptr
std::shared_ptr< block_state > block_state_ptr