plebble
us::gov::engine::daemon Struct Reference

#include <daemon.h>

Inheritance diagram for us::gov::engine::daemon:
Collaboration diagram for us::gov::engine::daemon:

Classes

struct  apps
 
struct  ev_track_t
 
struct  neuralyzer_t
 
struct  pools_t
 
struct  reg
 
struct  sysops_t
 
struct  votes_t
 

Public Types

enum  evt_status_t {
  evt_unknown, evt_error, evt_wait_arrival, evt_calendar,
  evt_mempool, evt_consensus, evt_settled, evt_untracked,
  evt_num
}
 
typedef mezzanine t
 
typedef crypto::ec::keys keys
 
typedef us::gov::dfs::fileattr_t fileattr_t
 
- Public Types inherited from us::gov::engine::mezzanine
typedef bgtask b
 
- Public Types inherited from us::gov::engine::evidence_processor
typedef bgtask t
 

Public Member Functions

 daemon (const keys &)
 
 daemon (const keys &, const string &home, uint16_t port, uint16_t pport, uint8_t num_edges, uint8_t devices, int workers, const vector< pair< uint32_t, uint16_t >> &seed_nodes, const string &status_file)
 
 daemon (const daemon &)=delete
 
 daemon (daemon &&)=delete
 
void constructor ()
 
 ~daemon () override
 
daemonoperator= (const daemon &)=delete
 
void add (app *app)
 
int clean_orphaned_blocks ()
 
void list_apps (const string &prefix, ostream &os) const
 
void eat_diff (const diff::hash_t &voted_tip, diff *)
 
bool process_work (peer_t *c, datagram *d)
 
bool process_query (peer_t *c, datagram *d)
 
bool process_evidence (evidence *)
 
bool process_sysop_request (peer_t *c, datagram *d)
 
bool snapshot (diff::hash_t &)
 
void print_map (ostream &os) const
 
bool wait_for_secs_to (const seconds &s, uint64_t block_deadline)
 
void fsinfo (bool dot, ostream &os) const
 
void dbg_output () const
 
void vote_tip (const diff &b)
 
void dump (const string &prefix, ostream &os) const
 
bool import (const diff &b, const diff::hash_t &)
 
bool import_ (const diff &b, const diff::hash_t &)
 
bool ready_for_consensus () const
 
diff::hash_t get_last_delta_imported () const
 
void set_last_delta_imported (const diff::hash_t &, uint64_t id)
 
void set_last_delta_imported_ (const diff::hash_t &, uint64_t id)
 
string save_db (const string &dir) const
 
void save_db (ostream &os)
 
void load_db (const string &file)
 
bool load_db (istream &)
 
void logline (ostream &os) const
 
void list_files (ostream &os) const
 
int clean_unlisted_files ()
 
bool get_prev (const diff::hash_t &h, diff::hash_t &prev) const override
 
bool patch_db (vector< diff::hash_t > &patches) override
 
void on_sync () override
 
void clear () override
 
int query_block (const diff::hash_t &hash) override
 
diff::hash_t save_db ()
 
bool load_db (const base::hash_t &)
 
void run ()
 
void load_head ()
 
void wait (const seconds &t) const
 
local_deltascreate_local_deltas (uint64_t id)
 
void update_peers_state ()
 
void clear_ ()
 
bool shell_command (int app_id, istream &, ostream &) const
 
void save (const diff &bl) const
 
void files_to_keep (vector< pair< dfs::hash_t, uint32_t >> &) const
 
void update_dfs_index ()
 
void update_dfs_index_delta ()
 
void on_block_closure (uint64_t block_closure) override
 
bool ready_for_block_opening (uint64_t) const override
 
string uptime () const
 
ko start () override
 
ko wait_ready (const chrono::system_clock::time_point &deadline) const override
 
void stop () override
 
void join () override
 
void onwakeup ()
 
void watch (ostream &os) const
 
void write_status (const string &line) const
 
void exec_evidence (const evidence &e) override
 
- Public Member Functions inherited from us::gov::engine::syncd_t::actuator
virtual ~actuator ()
 
- Public Member Functions inherited from us::gov::engine::mezzanine
 mezzanine (daemon *)
 
- Public Member Functions inherited from us::gov::bgtask
 bgtask ()
 
 bgtask (function< void()> run, function< void()> onwakeup)
 
virtual ~bgtask ()
 
void set_run_function (function< void()> r)
 
void wakeup ()
 
bool isup () const
 
bool isdown () const
 
bool resumed () const
 
void run_ ()
 
void reset ()
 
bool reset_wait ()
 
bool reset_resume ()
 
bool is_active () const
 
 bgtask ()
 
 bgtask (callback cb0)
 
void set_callback (callback r)
 
ko wait_ready (Date deadline)
 
boolean reset_wait ()
 
void wakeup ()
 
boolean reset_resume ()
 
boolean isup ()
 
boolean isdown ()
 
boolean resumed ()
 
void reset ()
 
boolean is_active ()
 
- Public Member Functions inherited from us::gov::engine::evidence_processor
 evidence_processor ()
 
 ~evidence_processor ()
 
void process_evidences (uint64_t maxts)
 
void run ()
 
void wait ()
 
void wait_new_cycle ()
 
void onwakeup ()
 

Static Public Member Functions

static void fsinfo (const string &home, bool dot, ostream &os)
 
static bool file_exists (const string &f)
 
static char block_type (istream &)
 
static string get_blocksdir (const string &govhome)
 
static string get_fsrootdir (const string &govhome)
 

Public Attributes

diff::hash_t last_vote {0}
 
diff::hash_t last_consensus {0}
 
condition_variable cv_cyc
 
string home
 
keys id
 
chrono::system_clock::time_point running_since
 
apps apps_
 
auth::appauth_app
 
us::gov::sys::appsys_app
 
us::gov::cash::appcash_app
 
networking peerd
 
sysops_t sysops
 
bool sysop_allowed {false}
 
bool encrypt_protocol {false}
 
local_deltas_local_deltas {0}
 
votes_t votes
 
pools_t pools
 
syncd_t syncd
 
neuralyzer_t neuralyzer
 
diff::hash_t last_delta_imported
 
uint64_t last_delta_imported_id
 
mutex mx_import
 
uint16_t depth {0}
 
string blocksdir
 
reg votes_timing
 
reg local_deltas_timing
 
string status_file
 
ev_track_t evt
 
mutex mx_dashboard
 
- Public Attributes inherited from us::gov::engine::mezzanine
daemond
 
- Public Attributes inherited from us::gov::engine::evidence_processor
calendar_t calendar
 

Static Public Attributes

static constexpr const char * evt_status_str [evt_num] ={"unknown","error","wait_arrival","calendar","mempool","consensus","settled","untracked"}
 
- Static Public Attributes inherited from us::gov::bgtask
static const char * KO_81021
 
static ko KO_81021 =new ko("KO 81021 Ready status never reached.")
 

Additional Inherited Members

- Protected Attributes inherited from us::gov::bgtask
atomic< short > resume {0}
 
thread * th {nullptr}
 
bool active {false}
 
function< void()> run
 
function< void()> onwakeup
 
mutex mx_ready
 
bool ready {false}
 
condition_variable cv_ready
 
AtomicInteger resume =new AtomicInteger(0)
 
Thread th =null
 
boolean active =false
 
callback cb =null
 
ReentrantLock mx_ready = new ReentrantLock()
 
boolean ready =false
 
Condition cv_ready =mx_ready.newCondition()
 

Member Typedef Documentation

◆ fileattr_t

◆ keys

◆ t

Member Enumeration Documentation

◆ evt_status_t

Enumerator
evt_unknown 
evt_error 
evt_wait_arrival 
evt_calendar 
evt_mempool 
evt_consensus 
evt_settled 
evt_untracked 
evt_num 

Constructor & Destructor Documentation

◆ daemon() [1/4]

us::gov::engine::daemon::daemon ( const keys )

◆ daemon() [2/4]

us::gov::engine::daemon::daemon ( const keys ,
const string &  home,
uint16_t  port,
uint16_t  pport,
uint8_t  num_edges,
uint8_t  devices,
int  workers,
const vector< pair< uint32_t, uint16_t >> &  seed_nodes,
const string &  status_file 
)

◆ daemon() [3/4]

us::gov::engine::daemon::daemon ( const daemon )
delete

◆ daemon() [4/4]

us::gov::engine::daemon::daemon ( daemon &&  )
delete

◆ ~daemon()

us::gov::engine::daemon::~daemon ( )
override

Member Function Documentation

◆ add()

void us::gov::engine::daemon::add ( app app)

◆ block_type()

static char us::gov::engine::daemon::block_type ( istream &  )
static

◆ clean_orphaned_blocks()

int us::gov::engine::daemon::clean_orphaned_blocks ( )

◆ clean_unlisted_files()

int us::gov::engine::daemon::clean_unlisted_files ( )

◆ clear()

void us::gov::engine::daemon::clear ( )
overridevirtual

◆ clear_()

void us::gov::engine::daemon::clear_ ( )

◆ constructor()

void us::gov::engine::daemon::constructor ( )

◆ create_local_deltas()

local_deltas* us::gov::engine::daemon::create_local_deltas ( uint64_t  id)

◆ dbg_output()

void us::gov::engine::daemon::dbg_output ( ) const

◆ dump()

void us::gov::engine::daemon::dump ( const string &  prefix,
ostream &  os 
) const

◆ eat_diff()

void us::gov::engine::daemon::eat_diff ( const diff::hash_t voted_tip,
diff  
)

◆ exec_evidence()

void us::gov::engine::daemon::exec_evidence ( const evidence e)
overridevirtual

◆ file_exists()

static bool us::gov::engine::daemon::file_exists ( const string &  f)
static

◆ files_to_keep()

void us::gov::engine::daemon::files_to_keep ( vector< pair< dfs::hash_t, uint32_t >> &  ) const

◆ fsinfo() [1/2]

void us::gov::engine::daemon::fsinfo ( bool  dot,
ostream &  os 
) const

◆ fsinfo() [2/2]

static void us::gov::engine::daemon::fsinfo ( const string &  home,
bool  dot,
ostream &  os 
)
static

◆ get_blocksdir()

static string us::gov::engine::daemon::get_blocksdir ( const string &  govhome)
static

◆ get_fsrootdir()

static string us::gov::engine::daemon::get_fsrootdir ( const string &  govhome)
static

◆ get_last_delta_imported()

diff::hash_t us::gov::engine::daemon::get_last_delta_imported ( ) const

◆ get_prev()

bool us::gov::engine::daemon::get_prev ( const diff::hash_t h,
diff::hash_t prev 
) const
overridevirtual

◆ import()

bool us::gov::engine::daemon::import ( const diff b,
const diff::hash_t  
)

◆ import_()

bool us::gov::engine::daemon::import_ ( const diff b,
const diff::hash_t  
)

◆ join()

void us::gov::engine::daemon::join ( )
overridevirtual

Reimplemented from us::gov::bgtask.

◆ list_apps()

void us::gov::engine::daemon::list_apps ( const string &  prefix,
ostream &  os 
) const

◆ list_files()

void us::gov::engine::daemon::list_files ( ostream &  os) const

◆ load_db() [1/3]

bool us::gov::engine::daemon::load_db ( const base::hash_t )

◆ load_db() [2/3]

void us::gov::engine::daemon::load_db ( const string &  file)

◆ load_db() [3/3]

bool us::gov::engine::daemon::load_db ( istream &  )

◆ load_head()

void us::gov::engine::daemon::load_head ( )

◆ logline()

void us::gov::engine::daemon::logline ( ostream &  os) const

◆ on_block_closure()

void us::gov::engine::daemon::on_block_closure ( uint64_t  block_closure)
overridevirtual

◆ on_sync()

void us::gov::engine::daemon::on_sync ( )
overridevirtual

◆ onwakeup()

void us::gov::engine::daemon::onwakeup ( )

◆ operator=()

daemon& us::gov::engine::daemon::operator= ( const daemon )
delete

◆ patch_db()

bool us::gov::engine::daemon::patch_db ( vector< diff::hash_t > &  patches)
overridevirtual

◆ print_map()

void us::gov::engine::daemon::print_map ( ostream &  os) const

◆ process_evidence()

bool us::gov::engine::daemon::process_evidence ( evidence )

◆ process_query()

bool us::gov::engine::daemon::process_query ( peer_t c,
datagram d 
)

◆ process_sysop_request()

bool us::gov::engine::daemon::process_sysop_request ( peer_t c,
datagram d 
)

◆ process_work()

bool us::gov::engine::daemon::process_work ( peer_t c,
datagram d 
)

◆ query_block()

int us::gov::engine::daemon::query_block ( const diff::hash_t hash)
overridevirtual

◆ ready_for_block_opening()

bool us::gov::engine::daemon::ready_for_block_opening ( uint64_t  ) const
overridevirtual

◆ ready_for_consensus()

bool us::gov::engine::daemon::ready_for_consensus ( ) const

◆ run()

void us::gov::engine::daemon::run ( )

Reimplemented from us::gov::bgtask.

◆ save()

void us::gov::engine::daemon::save ( const diff bl) const

◆ save_db() [1/3]

diff::hash_t us::gov::engine::daemon::save_db ( )

◆ save_db() [2/3]

string us::gov::engine::daemon::save_db ( const string &  dir) const

◆ save_db() [3/3]

void us::gov::engine::daemon::save_db ( ostream &  os)

◆ set_last_delta_imported()

void us::gov::engine::daemon::set_last_delta_imported ( const diff::hash_t ,
uint64_t  id 
)

◆ set_last_delta_imported_()

void us::gov::engine::daemon::set_last_delta_imported_ ( const diff::hash_t ,
uint64_t  id 
)

◆ shell_command()

bool us::gov::engine::daemon::shell_command ( int  app_id,
istream &  ,
ostream &   
) const

◆ snapshot()

bool us::gov::engine::daemon::snapshot ( diff::hash_t )

◆ start()

ko us::gov::engine::daemon::start ( )
overridevirtual

Reimplemented from us::gov::bgtask.

◆ stop()

void us::gov::engine::daemon::stop ( )
overridevirtual

Reimplemented from us::gov::bgtask.

◆ update_dfs_index()

void us::gov::engine::daemon::update_dfs_index ( )

◆ update_dfs_index_delta()

void us::gov::engine::daemon::update_dfs_index_delta ( )

◆ update_peers_state()

void us::gov::engine::daemon::update_peers_state ( )

◆ uptime()

string us::gov::engine::daemon::uptime ( ) const

◆ vote_tip()

void us::gov::engine::daemon::vote_tip ( const diff b)

◆ wait()

void us::gov::engine::daemon::wait ( const seconds &  t) const

◆ wait_for_secs_to()

bool us::gov::engine::daemon::wait_for_secs_to ( const seconds &  s,
uint64_t  block_deadline 
)

◆ wait_ready()

ko us::gov::engine::daemon::wait_ready ( const chrono::system_clock::time_point &  deadline) const
overridevirtual

Reimplemented from us::gov::bgtask.

◆ watch()

void us::gov::engine::daemon::watch ( ostream &  os) const

◆ write_status()

void us::gov::engine::daemon::write_status ( const string &  line) const

Member Data Documentation

◆ _local_deltas

local_deltas* us::gov::engine::daemon::_local_deltas {0}

◆ apps_

apps us::gov::engine::daemon::apps_

◆ auth_app

auth::app* us::gov::engine::daemon::auth_app

◆ blocksdir

string us::gov::engine::daemon::blocksdir

◆ cash_app

us::gov::cash::app* us::gov::engine::daemon::cash_app

◆ cv_cyc

condition_variable us::gov::engine::daemon::cv_cyc

◆ depth

uint16_t us::gov::engine::daemon::depth {0}

◆ encrypt_protocol

bool us::gov::engine::daemon::encrypt_protocol {false}

◆ evt

ev_track_t us::gov::engine::daemon::evt

◆ evt_status_str

constexpr const char* us::gov::engine::daemon::evt_status_str[evt_num] ={"unknown","error","wait_arrival","calendar","mempool","consensus","settled","untracked"}
staticconstexpr

◆ home

string us::gov::engine::daemon::home

◆ id

keys us::gov::engine::daemon::id

◆ last_consensus

diff::hash_t us::gov::engine::daemon::last_consensus {0}

◆ last_delta_imported

diff::hash_t us::gov::engine::daemon::last_delta_imported

◆ last_delta_imported_id

uint64_t us::gov::engine::daemon::last_delta_imported_id

◆ last_vote

diff::hash_t us::gov::engine::daemon::last_vote {0}

◆ local_deltas_timing

reg us::gov::engine::daemon::local_deltas_timing

◆ mx_dashboard

mutex us::gov::engine::daemon::mx_dashboard
mutable

◆ mx_import

mutex us::gov::engine::daemon::mx_import
mutable

◆ neuralyzer

neuralyzer_t us::gov::engine::daemon::neuralyzer

◆ peerd

networking us::gov::engine::daemon::peerd

◆ pools

pools_t us::gov::engine::daemon::pools

◆ running_since

chrono::system_clock::time_point us::gov::engine::daemon::running_since

◆ status_file

string us::gov::engine::daemon::status_file

◆ syncd

syncd_t us::gov::engine::daemon::syncd

◆ sys_app

us::gov::sys::app* us::gov::engine::daemon::sys_app

◆ sysop_allowed

bool us::gov::engine::daemon::sysop_allowed {false}

◆ sysops

sysops_t us::gov::engine::daemon::sysops

◆ votes

votes_t us::gov::engine::daemon::votes

◆ votes_timing

reg us::gov::engine::daemon::votes_timing

The documentation for this struct was generated from the following file: