| plebble
    | 
#include <daemon.h>


| Classes | |
| struct | account_t | 
| struct | grid_t | 
| struct | nodes_t | 
| Public Types | |
| typedef auth::daemon | b | 
| typedef peer::mezzanine | t | 
| typedef socket::client | client | 
| typedef crypto::ec::keys | keys | 
| typedef keys::pub_t | pub_t | 
| typedef pub_t::hash_t | hash_t | 
|  Public Types inherited from us::gov::id::daemon | |
| typedef socket::daemon | b | 
| typedef crypto::ec::keys | keys | 
| using | datagram = socket::datagram | 
|  Public Types inherited from us::gov::socket::daemon | |
| typedef server | b | 
| typedef thpool | pool_t | 
|  Public Types inherited from us::gov::socket::server | |
| typedef bgtask | b | 
| typedef crypto::ec::keys::pub_t | pub_t | 
|  Public Types inherited from us::gov::peer::mezzanine | |
| typedef bgtask | b | 
| Public Member Functions | |
| daemon () | |
| daemon (uint16_t port, uint16_t pport, uint8_t edges, uint8_t devices, uint8_t workers) | |
| ~daemon () override | |
| void | dump (const string &prefix, ostream &) const | 
| void | visit (const function< void(socket::client &)> &visitor) | 
| vector< pair< uint32_t, uint16_t > > | list_neighbours () const | 
| vector< pair< uint32_t, uint16_t > > | list_dev_neighbours () const | 
| void | purge_idle () | 
| ko | start () override | 
| ko | wait_ready (const chrono::system_clock::time_point &deadline) const override | 
| void | stop () override | 
| void | join () override | 
| bool | is_active () const | 
| void | wakeup () | 
| bool | isup () const | 
| void | wait () | 
| void | dump_random_nodes (size_t num, ostream &os) const | 
| bool | lookup_node (const hash_t &p, ostream &os) const | 
| void | on_destroy (client &) override | 
| bool | process_work (socket::peer_t *p, datagram *d) override | 
| virtual void | remote_port (const crypto::ec::keys::pub_t &, uint16_t port) | 
| void | test_connectivity () | 
| void | grid_rotate (nodes_t &) | 
| void | run () | 
| void | onwakeup () | 
| void | set_seed_nodes (const vector< pair< uint32_t, uint16_t >> &) | 
| ko | add_seed_node (const pair< uint32_t, uint16_t > &) | 
| ko | add_seed_node_ (const pair< uint32_t, uint16_t > &) | 
| void | set_nodes (const vector< pair< hash_t, pair< uint32_t, uint16_t >>> &) | 
| ko | add_node_ (const pair< hash_t, pair< uint32_t, uint16_t >> &) | 
| void | grid_setcur () | 
| void | disconnect_one () | 
| client * | grid_connect (uint32_t netaddr, uint16_t port) | 
| bool | grid_connect_test (peer::peer_t *p, uint32_t netaddr, uint16_t port, ostream &os) | 
| nodes_t & | get_nodes () | 
| const nodes_t & | get_nodes () const | 
|  Public Member Functions inherited from us::gov::id::daemon | |
| daemon () | |
| daemon (uint16_t port, uint16_t pport, int workers) | |
| virtual socket::client * | create_client (int sock) override | 
| virtual const keys & | get_keys () const =0 | 
| bool | is_duplicate (const pub_t &) const | 
| void | dump (const string &prefix, ostream &os) const | 
|  Public Member Functions inherited from us::gov::socket::daemon | |
| daemon () | |
| daemon (const daemon &)=delete | |
| daemon & | operator= (const daemon &)=delete | 
| daemon (uint16_t port, uint8_t workers) | |
| ~daemon () override | |
| client * | create_client (int sock) override | 
| ko | start () override | 
| ko | wait_ready (const chrono::system_clock::time_point &deadline) const override | 
| void | stop () override | 
| void | join () override | 
| void | dump (const string &prefix, ostream &os) const | 
| void | receive_and_process (client *) override | 
| void | process_work (peer_t *c) | 
| virtual string | homedir () const =0 | 
|  Public Member Functions inherited from us::gov::socket::server | |
| server () | |
| server (uint16_t port) | |
| virtual | ~server () | 
| virtual void | attach (client *) | 
| virtual void | attach_noupdate (client *) | 
| virtual void | detach (client *) | 
| datagram * | read_from_client (int sock) | 
| int | make_socket (uint16_t port) | 
| bool | banned_throttle (const string &addr) | 
| void | dump (const string &prefix, ostream &os) const | 
| void | proc_evil (const vector< pair< uint32_t, string >> &) | 
| void | run () | 
| void | onwakeup () | 
| ko | start () override | 
| ko | wait_ready (const chrono::system_clock::time_point &deadline) const override | 
| void | stop () override | 
| void | join () override | 
|  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 () | 
| boolean | reset_resume () | 
| boolean | isup () | 
| boolean | isdown () | 
| boolean | resumed () | 
| void | reset () | 
| boolean | is_active () | 
|  Public Member Functions inherited from us::gov::peer::mezzanine | |
| mezzanine (daemon *) | |
| Public Attributes | |
| client * | cli {nullptr} | 
| mutex | mx_nodes | 
| mutex | mx_hall | 
| nodes_t | hall | 
| nodes_t | seed_nodes | 
| mutex | mx_seed_nodes | 
| uint8_t | edges | 
| grid_t | grid | 
| condition_variable | cv | 
| hash_t | myself | 
| chrono::system_clock::time_point | tlo | 
| bool | force_seeds {false} | 
| grid_t | grid_dev | 
|  Public Attributes inherited from us::gov::id::daemon | |
| uint16_t | pport | 
|  Public Attributes inherited from us::gov::socket::daemon | |
| pool_t | pool | 
| uint8_t | num_workers | 
|  Public Attributes inherited from us::gov::socket::server | |
| clients_t | clients | 
| uint16_t | port | 
| int | sock {0} | 
| blacklist | ban | 
| client::queue_t | sendq | 
|  Public Attributes inherited from us::gov::peer::mezzanine | |
| daemon * | d | 
| Private Attributes | |
| nodes_t | nodes | 
| Additional Inherited Members | |
|  Static Public Member Functions inherited from us::gov::socket::server | |
| static int | set_not_blocking_mode (int sock) | 
|  Static Public Attributes inherited from us::gov::socket::daemon | |
| static const char * | KO_4093 | 
|  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.") | 
|  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() | 
| typedef auth::daemon us::gov::peer::daemon::b | 
| us::gov::peer::daemon::daemon | ( | ) | 
| us::gov::peer::daemon::daemon | ( | uint16_t | port, | 
| uint16_t | pport, | ||
| uint8_t | edges, | ||
| uint8_t | devices, | ||
| uint8_t | workers | ||
| ) | 
| 
 | overridevirtual | 
Reimplemented from us::gov::id::daemon.
Reimplemented in us::gov::relay::daemon.
| void us::gov::peer::daemon::disconnect_one | ( | ) | 
| void us::gov::peer::daemon::dump | ( | const string & | prefix, | 
| ostream & | |||
| ) | const | 
| void us::gov::peer::daemon::dump_random_nodes | ( | size_t | num, | 
| ostream & | os | ||
| ) | const | 
| 
 | inline | 
| 
 | inline | 
| client* us::gov::peer::daemon::grid_connect | ( | uint32_t | netaddr, | 
| uint16_t | port | ||
| ) | 
| bool us::gov::peer::daemon::grid_connect_test | ( | peer::peer_t * | p, | 
| uint32_t | netaddr, | ||
| uint16_t | port, | ||
| ostream & | os | ||
| ) | 
| void us::gov::peer::daemon::grid_rotate | ( | nodes_t & | ) | 
| void us::gov::peer::daemon::grid_setcur | ( | ) | 
| 
 | inline | 
| 
 | inline | 
| 
 | overridevirtual | 
Reimplemented from us::gov::bgtask.
| vector<pair<uint32_t,uint16_t> > us::gov::peer::daemon::list_dev_neighbours | ( | ) | const | 
| vector<pair<uint32_t,uint16_t> > us::gov::peer::daemon::list_neighbours | ( | ) | const | 
| bool us::gov::peer::daemon::lookup_node | ( | const hash_t & | p, | 
| ostream & | os | ||
| ) | const | 
| 
 | overridevirtual | 
Reimplemented from us::gov::socket::server.
Reimplemented in us::gov::relay::daemon.
| void us::gov::peer::daemon::onwakeup | ( | ) | 
| 
 | overridevirtual | 
Reimplemented from us::gov::id::daemon.
Reimplemented in us::gov::relay::daemon.
| void us::gov::peer::daemon::purge_idle | ( | ) | 
| 
 | inlinevirtual | 
| void us::gov::peer::daemon::run | ( | ) | 
Reimplemented from us::gov::bgtask.
| void us::gov::peer::daemon::set_nodes | ( | const vector< pair< hash_t, pair< uint32_t, uint16_t >>> & | ) | 
| void us::gov::peer::daemon::set_seed_nodes | ( | const vector< pair< uint32_t, uint16_t >> & | ) | 
| 
 | overridevirtual | 
Reimplemented from us::gov::bgtask.
| 
 | overridevirtual | 
Reimplemented from us::gov::bgtask.
| void us::gov::peer::daemon::test_connectivity | ( | ) | 
| void us::gov::peer::daemon::visit | ( | const function< void(socket::client &)> & | visitor | ) | 
| void us::gov::peer::daemon::wait | ( | ) | 
| 
 | overridevirtual | 
Reimplemented from us::gov::bgtask.
| 
 | inline | 
Reimplemented from us::gov::bgtask.
| client* us::gov::peer::daemon::cli {nullptr} | 
| condition_variable us::gov::peer::daemon::cv | 
| uint8_t us::gov::peer::daemon::edges | 
| bool us::gov::peer::daemon::force_seeds {false} | 
| grid_t us::gov::peer::daemon::grid | 
| grid_t us::gov::peer::daemon::grid_dev | 
| nodes_t us::gov::peer::daemon::hall | 
| mutex us::gov::peer::daemon::mx_hall | 
| 
 | mutable | 
| mutex us::gov::peer::daemon::mx_seed_nodes | 
| hash_t us::gov::peer::daemon::myself | 
| 
 | private | 
| nodes_t us::gov::peer::daemon::seed_nodes | 
| chrono::system_clock::time_point us::gov::peer::daemon::tlo |