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 |
![]() | |
typedef socket::daemon | b |
typedef crypto::ec::keys | keys |
using | datagram = socket::datagram |
![]() | |
typedef server | b |
typedef thpool | pool_t |
![]() | |
typedef bgtask | b |
typedef crypto::ec::keys::pub_t | pub_t |
![]() | |
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 |
![]() | |
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 |
![]() | |
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 |
![]() | |
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 |
![]() | |
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 () |
![]() | |
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 |
![]() | |
uint16_t | pport |
![]() | |
pool_t | pool |
uint8_t | num_workers |
![]() | |
clients_t | clients |
uint16_t | port |
int | sock {0} |
blacklist | ban |
client::queue_t | sendq |
![]() | |
daemon * | d |
Private Attributes | |
nodes_t | nodes |
Additional Inherited Members | |
![]() | |
static int | set_not_blocking_mode (int sock) |
![]() | |
static const char * | KO_4093 |
![]() | |
static const char * | KO_81021 |
static ko | KO_81021 =new ko("KO 81021 Ready status never reached.") |
![]() | |
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 |