plebble
us.wallet.rpc_api Class Reference
Inheritance diagram for us.wallet.rpc_api:
Collaboration diagram for us.wallet.rpc_api:

Public Member Functions

 rpc_api (KeyPair k, String walletd_host_, short walletd_port_)
 
override KeyPair get_keys ()
 
override bool authorize (byte[] p)
 
bool connect_walletd (Stream os)
 
void ask_string (short service, Stream os)
 
pair< String, datagramsendrecv (datagram d)
 
void ask_string (short service, String args, Stream os)
 
- Public Member Functions inherited from us::gov::auth::peer_t
 peer_t (int sock=-1)
 
 ~peer_t () override
 
void verification_completed (uint16_t rpport) override
 
virtual bool authorize (const pub_t &p, uint16_t pin) const =0
 
void dump_all (const string &prefix, ostream &os) const override
 
void dump (const string &prefix, ostream &os) const
 
 peer_t (Socket sock)
 
override void verification_completed ()
 
 peer_t (Socket sock)
 
void verification_completed (uint16_t rpport)
 
boolean authorize (PublicKey pub)
 
- Public Member Functions inherited from us::gov::id::peer_t
 peer_t (int sock)
 
ko connect (const string &host, uint16_t port, uint16_t pport, role_t, bool block)
 
virtual ko connect (uint32_t host, uint16_t port, uint16_t pport, role_t, bool block)
 
virtual void verification_completed (uint16_t rpport)
 
virtual const keysget_keys () const
 
void dump (const string &prefix, ostream &os) const
 
bool process_work (datagram *d)
 
void process_request (datagram *d, const keys &)
 
void process_peer_challenge (datagram *d, const keys &)
 
void process_challenge_response (datagram *d)
 
ko initiate_dialogue (role_t role, uint16_t pport_pin)
 
bool verification_is_fine () const
 
string short_version () const
 
ko turn_on_encryption ()
 
ko wait_auth () const
 
pair< ko, datagram * > encrypt0 (datagram *) const override
 
pair< ko, datagram * > decrypt0 (datagram *) const override
 
void disconnect (uint16_t seq, const string &reason) override
 
stage_t get_stage_peer () const
 
void set_stage_peer (stage_t)
 
daemonget_parent ()
 
const daemonget_parent () const
 
bool is_role_peer () const
 
bool is_role_sysop () const
 
bool is_role_device () const
 
 peer_t (Socket sock)
 
String connect (String host, int port, char role, bool block)
 
override bool process_work (datagram d)
 
void process_request (datagram d, KeyPair mykeys)
 
void process_peer_challenge (datagram d, KeyPair mykeys)
 
void process_challenge_response (datagram d)
 
void initiate_dialogue (char role)
 
bool verification_is_fine ()
 
String run_auth_responder ()
 
ko connect (String host, uint16_t port, uint16_t pport_pin, role_t role, boolean block)
 
ko connect (String endpoint, uint16_t pport_pin, role_t role, boolean block)
 
boolean process_work (datagram d)
 
ko initiate_dialogue (role_t role, uint16_t pport)
 
void process_request (datagram d, KeyPair mykeys)
 
void process_peer_challenge (datagram d, KeyPair mykeys)
 
void process_challenge_response (datagram d)
 
ko turn_on_encryption ()
 
pair< ko, datagramencrypt0 (datagram d)
 
pair< ko, datagramdecrypt0 (datagram e)
 
boolean verification_is_fine ()
 
void verification_completed (uint16_t rpport)
 
ko wait_auth ()
 
- Public Member Functions inherited from us::gov::socket::peer_t
 peer_t ()
 
 peer_t (int sock)
 
 peer_t (const peer_t &)=delete
 
peer_toperator= (const peer_t &)=delete
 
 ~peer_t () override
 
void dump_all (const string &prefix, ostream &os) const override
 
pair< security_level_t, string > security_level () const override
 
bool stalled_datagram () const
 
bool process_work (datagram *d)
 
void dump (const string &prefix, ostream &os) const
 
virtual void on_peer_disconnected (const string &reason)
 
 peer_t ()
 
 peer_t (Socket sock)
 
bool is_slow ()
 
bool ping ()
 
void process_pong ()
 
 peer_t ()
 
void on_peer_disconnected (String reason)
 
- Public Member Functions inherited from us::gov::socket::client
 client ()
 
 client (int sock)
 
virtual ~client ()
 
ko connect0 (uint32_t host, uint16_t port, bool block)
 
ko connect0 (const string &host, uint16_t port, bool block)
 
bool connected () const
 
pair< uint32_t, uint16_t > raddress () const
 
virtual void on_connect (ko)
 
pair< ko, datagram * > recv4x (datagram *d)
 
pair< ko, datagram * > recv6 ()
 
ko init_sock2 (uint32_t host, uint16_t port, bool block)
 
void dump (const string &prefix, ostream &os) const
 
string refdata () const
 
string endpoint () const
 
virtual ko send1 (datagram *)
 
void prepare_worker_recv ()
 
void worker_ended_recv ()
 
void set_finished ()
 
bool is_finished () const
 
void test_alive ()
 
void ping ()
 
 client ()
 
 client (Socket sock_)
 
String connect0 (String host, int port)
 
String connect0 (String host, int port, bool block)
 
void disconnect ()
 
bool connected ()
 
bool IsConnected ()
 
String address ()
 
void ready ()
 
pair< String, datagramsend_recv3 (datagram d)
 
pair< String, datagramrecv6 ()
 
pair< String, datagramrecv3 ()
 
pair< String, datagramrecv4 (datagram d)
 
String send3 (datagram d)
 
 client ()
 
 client (Socket sock_)
 
void prepare_worker_recv ()
 
void worker_ended_recv ()
 
void on_connect (ko err)
 
ko connect0 (String host, uint16_t port)
 
ko connect0 (String host, uint16_t hport, boolean block)
 
void disconnect (uint16_t seq, String reason)
 
boolean connected ()
 
String address ()
 
String endpoint ()
 
pair< ko, datagramrecv6 ()
 
pair< ko, datagramrecv4x (datagram d)
 
boolean is_finished ()
 
void dump (String prefix, PrintStream os)
 
void test_alive ()
 
ko send1 (datagram d0)
 

Private Attributes

String walletd_host
 
short walletd_port
 
KeyPair id
 

Additional Inherited Members

- Public Types inherited from us::gov::auth::peer_t
enum  stage_t { denied =0, authorized, num_stages }
 
enum  Stage_t { Stage_t.denied = 0, Stage_t.authorized = 1, Stage_t.num_stages = 2 }
 
typedef id::peer_t b
 
- Public Types inherited from us::gov::id::peer_t
enum  stage_t {
  anonymous =0, verified, verified_fail, num_stages,
  stage_t.anonymous = 0, stage_t.verified = 1, stage_t.verified_fail = 2, stage_t.num_stages = 3
}
 
enum  role_t { role_peer =0, role_sysop =1, role_device =2, num_roles }
 
enum  stage_t {
  anonymous =0, verified, verified_fail, num_stages,
  stage_t.anonymous = 0, stage_t.verified = 1, stage_t.verified_fail = 2, stage_t.num_stages = 3
}
 
typedef socket::peer_t b
 
typedef crypto::ec::keys keys
 
typedef keys::pub_t pub_t
 
typedef pub_t::hash_t hash_t
 
using datagram = socket::datagram
 
- Public Types inherited from us::gov::socket::peer_t
typedef client b
 
- Public Types inherited from us::gov::socket::client
enum  security_level_t { security_level_ok, security_level_disconnect, security_level_ban }
 
typedef us::gov::socket::send_queue_t queue_t
 
- Static Public Member Functions inherited from us::gov::id::peer_t
static string to_string (const vector< unsigned char > &data)
 
static String get_random_message ()
 
- Static Public Member Functions inherited from us::gov::socket::client
static uint32_t host2addr (const string &host)
 
static string age (uint64_t msts)
 
static string age (chrono::system_clock::time_point time)
 
static string ip4_decode (uint32_t addr)
 
static uint32_t ip4_encode (const string &addr)
 
static bool is_wan_ip (uint32_t)
 
static bool is_valid_ip (uint32_t)
 
static string endpoint (uint32_t addr, uint16_t port)
 
static string endpoint (const pair< uint32_t, uint16_t > &ip)
 
static pair< ko, pair< string, uint16_t > > parse_endpoint (const string &ipport)
 
static pair< ko, pair< String, Short > > parse_endpoint (String ipport)
 
static String ip4_decode (uint32_t addr0)
 
static uint32_t ip4_encode (String addr0)
 
static String endpoint (uint32_t a, uint16_t p)
 
static String endpoint (String a, uint16_t p)
 
- Public Attributes inherited from us::gov::auth::peer_t
stage_t stage {denied}
 
Stage_t stage = Stage_t.denied
 
String[] stagestr = {"denied", "authorized"}
 
- Public Attributes inherited from us::gov::id::peer_t
stage_t stage_peer {anonymous}
 
handshakes_thandshakes {nullptr}
 
role_t role {role_peer}
 
pub_t pubkey
 
uint16_t version_fingerprint {0}
 
mutex mx_auth
 
condition_variable cv_auth
 
crypto::symmetric_encryptionse {nullptr}
 
byte[] pubkey
 
PublicKey pubkey =null
 
- Public Attributes inherited from us::gov::socket::peer_t
datagramcurd {nullptr}
 
mutex mx_curd
 
- Public Attributes inherited from us::gov::socket::client
chrono::system_clock::time_point since
 
chrono::system_clock::time_point activity_recv
 
chrono::system_clock::time_point last_test_alive
 
atomic< uint64_t > activity
 
atomic< int > busyrecv {0}
 
int sock =null
 
uint32_t address
 
uint16_t port
 
atomic< int > sendref {0}
 
serverparent {nullptr}
 
queue_tsendq {nullptr}
 
pair< uint16_t, string > finished_reason
 
atomic< bool > finished {false}
 
Socket sock =null
 
long since
 
send_queue sendq =null
 
AtomicInteger sendref =new AtomicInteger(0)
 
long uid =++prev_uid
 
- Static Public Attributes inherited from us::gov::auth::peer_t
constexpr static array< const char *, num_stagesstagestr ={"denied","authorized"}
 
- Static Public Attributes inherited from us::gov::id::peer_t
static const char * KO_6017
 
constexpr static array< const char *, num_stagesstagestr ={"anonymous","verified","verified_fail"}
 
constexpr static array< const char *, num_rolesrolestr ={"peer","sysop","device"}
 
static ko KO_6017 =new ko("KO 6017 authentication failed.")
 
static final String[] stagestr = {"anonymous","verified","verified_fail"}
 
static final ko KO_43823 =new ko("KO 43823 Invalid endpoint")
 
- Static Public Attributes inherited from us::gov::socket::peer_t
constexpr static chrono::seconds stall {5s}
 
static const char * finished_reason_1
 
static const char * finished_reason_2
 
- Static Public Attributes inherited from us::gov::socket::client
static const char * KO_7190
 
static const char * KO_58961
 
static const char * KO_60541
 
static const char * KO_10100
 
static const char * KO_20190
 
static const char * KO_20191
 
static busyled_t busyled_recv =new busyled_t()
 
static struct timeval timeout
 
static final ko KO_58961 =new ko("KO 58961 Invalid port.")
 
static final ko KO_83911 =new ko("KO 83911 IO Exception.")
 
static final ko KO_83912 =new ko("KO 83912 Exception.")
 
static final ko KO_10100 =new ko("KO 10100 Unreachable host.")
 
static final ko KO_20190 =new ko("KO 20190 Invalid endpoint port.")
 
static final ko KO_20191 =new ko("KO 20191 Invalid endpoint host.")
 
static long prev_uid =0
 
- Package Functions inherited from us::gov::id::peer_t
boolean is_role_peer ()
 
boolean is_role_sysop ()
 
boolean is_role_device ()
 
void set_stage_peer (stage_t s)
 
stage_t get_stage_peer ()
 
String short_version ()
 
- Package Functions inherited from us::gov::socket::client
String refdata ()
 
void set_finished ()
 
- Package Attributes inherited from us::gov::id::peer_t
uint16_t daemon_pport =uint16_t.zero
 
handshakes_t handshakes =null
 
ReentrantLock mx_auth = new ReentrantLock()
 
Condition cv_auth =mx_auth.newCondition()
 
symmetric_encryption se =null
 
- Package Attributes inherited from us::gov::socket::client
pair< uint16_t, String > finished_reason =new pair<uint16_t, String>(new uint16_t(0), "")
 
AtomicBoolean finished =new AtomicBoolean(false)
 
AtomicInteger busyrecv =new AtomicInteger(0)
 
boolean called_disconnect =false
 
long activity_recv
 
long last_test_alive
 
AtomicLong activity =new AtomicLong(0L)
 

Constructor & Destructor Documentation

◆ rpc_api()

us.wallet.rpc_api.rpc_api ( KeyPair  k,
String  walletd_host_,
short  walletd_port_ 
)
inline

Member Function Documentation

◆ ask_string() [1/2]

◆ ask_string() [2/2]

void us.wallet.rpc_api.ask_string ( short  service,
String  args,
Stream  os 
)
inline

◆ authorize()

override bool us.wallet.rpc_api.authorize ( byte[]  p)
inlinevirtual

Reimplemented from us::gov::auth::peer_t.

◆ connect_walletd()

bool us.wallet.rpc_api.connect_walletd ( Stream  os)
inline

◆ get_keys()

override KeyPair us.wallet.rpc_api.get_keys ( )
inlinevirtual

Reimplemented from us::gov::id::peer_t.

References us.wallet.rpc_api.id.

◆ sendrecv()

Member Data Documentation

◆ id

KeyPair us.wallet.rpc_api.id
private

◆ walletd_host

String us.wallet.rpc_api.walletd_host
private

◆ walletd_port

short us.wallet.rpc_api.walletd_port
private

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