|
| | node_server (t_payload_net_handler &payload_handler) |
| virtual | ~node_server () |
| bool | run () |
| network_zone & | add_zone (epee::net_utils::zone zone) |
| bool | init (const boost::program_options::variables_map &vm, const std::string &proxy={}, bool proxy_dns_leaks_allowed={}) |
| bool | deinit () |
| bool | send_stop_signal () |
| uint32_t | get_this_peer_port () |
| t_payload_net_handler & | get_payload_object () |
| bool | log_peerlist () |
| bool | log_connections () |
| virtual uint64_t | get_public_connections_count () |
| size_t | get_public_outgoing_connections_count () |
| size_t | get_public_white_peers_count () |
| size_t | get_public_gray_peers_count () |
| void | get_public_peerlist (std::vector< peerlist_entry > &gray, std::vector< peerlist_entry > &white) |
| void | get_peerlist (std::vector< peerlist_entry > &gray, std::vector< peerlist_entry > &white) |
| void | change_max_out_public_peers (size_t count) |
| uint32_t | get_max_out_public_peers () const |
| void | change_max_in_public_peers (size_t count) |
| uint32_t | get_max_in_public_peers () const |
| virtual bool | block_host (epee::net_utils::network_address address, time_t seconds=P2P_IP_BLOCKTIME, bool add_only=false) |
| virtual bool | unblock_host (const epee::net_utils::network_address &address) |
| virtual bool | block_subnet (const epee::net_utils::ipv4_network_subnet &subnet, time_t seconds=P2P_IP_BLOCKTIME) |
| virtual bool | unblock_subnet (const epee::net_utils::ipv4_network_subnet &subnet) |
| virtual bool | is_host_blocked (const epee::net_utils::network_address &address, time_t *seconds) |
| virtual std::map< std::string, time_t > | get_blocked_hosts () |
| virtual std::map< epee::net_utils::ipv4_network_subnet, time_t > | get_blocked_subnets () |
| virtual void | add_used_stripe_peer (const typename t_payload_net_handler::connection_context &context) |
| virtual void | remove_used_stripe_peer (const typename t_payload_net_handler::connection_context &context) |
| virtual void | clear_used_stripe_peers () |
| void | set_rpc_port (uint16_t rpc_port) |
| void | set_rpc_credits_per_hash (uint32_t rpc_credits_per_hash) |
| Public Member Functions inherited from epee::levin::levin_commands_handler< p2p_connection_context_t< t_payload_net_handler::connection_context > > |
| virtual int | invoke (int command, const epee::span< const uint8_t > in_buff, byte_stream &buff_out, p2p_connection_context_t< t_payload_net_handler::connection_context > &context)=0 |
| virtual int | notify (int command, const epee::span< const uint8_t > in_buff, p2p_connection_context_t< t_payload_net_handler::connection_context > &context)=0 |
| virtual void | callback (p2p_connection_context_t< t_payload_net_handler::connection_context > &context) |
| virtual void | on_connection_new (p2p_connection_context_t< t_payload_net_handler::connection_context > &context) |
| virtual void | on_connection_close (p2p_connection_context_t< t_payload_net_handler::connection_context > &context) |
| virtual | ~levin_commands_handler () |
| virtual void | for_each_connection (std::function< bool(t_payload_net_handler::connection_context &, peerid_type, uint32_t)> f)=0 |
| virtual bool | for_connection (const boost::uuids::uuid &, std::function< bool(t_payload_net_handler::connection_context &, peerid_type, uint32_t)> f)=0 |
| virtual void | add_used_stripe_peer (const t_payload_net_handler::connection_context &context)=0 |
| virtual void | remove_used_stripe_peer (const t_payload_net_handler::connection_context &context)=0 |
|
| | CHAIN_LEVIN_INVOKE_MAP2 (p2p_connection_context) |
| | CHAIN_LEVIN_NOTIFY_MAP2 (p2p_connection_context) |
| | if (is_filtered_command(context.m_remote_address, command)) return LEVIN_ERROR_CONNECTION_HANDLER_NOT_DEFINED |
| int | handle_handshake (int command, typename COMMAND_HANDSHAKE::request &arg, typename COMMAND_HANDSHAKE::response &rsp, p2p_connection_context &context) |
| int | handle_timed_sync (int command, typename COMMAND_TIMED_SYNC::request &arg, typename COMMAND_TIMED_SYNC::response &rsp, p2p_connection_context &context) |
| int | handle_ping (int command, COMMAND_PING::request &arg, COMMAND_PING::response &rsp, p2p_connection_context &context) |
| int | handle_get_support_flags (int command, COMMAND_REQUEST_SUPPORT_FLAGS::request &arg, COMMAND_REQUEST_SUPPORT_FLAGS::response &rsp, p2p_connection_context &context) |
| bool | init_config () |
| bool | make_default_peer_id () |
| bool | make_default_config () |
| bool | store_config () |
| virtual void | on_connection_new (p2p_connection_context &context) |
| virtual void | on_connection_close (p2p_connection_context &context) |
| virtual void | callback (p2p_connection_context &context) |
| virtual bool | relay_notify_to_list (int command, epee::levin::message_writer message, std::vector< std::pair< epee::net_utils::zone, boost::uuids::uuid > > connections) final |
| virtual epee::net_utils::zone | send_txs (std::vector< cryptonote::blobdata > txs, const epee::net_utils::zone origin, const boost::uuids::uuid &source, cryptonote::relay_method tx_relay) |
| virtual bool | invoke_notify_to_peer (int command, epee::levin::message_writer message, const epee::net_utils::connection_context_base &context) final |
| virtual bool | drop_connection (const epee::net_utils::connection_context_base &context) |
| virtual void | request_callback (const epee::net_utils::connection_context_base &context) |
| virtual void | for_each_connection (std::function< bool(typename t_payload_net_handler::connection_context &, peerid_type, uint32_t)> f) |
| virtual bool | for_connection (const boost::uuids::uuid &, std::function< bool(typename t_payload_net_handler::connection_context &, peerid_type, uint32_t)> f) |
| virtual bool | add_host_fail (const epee::net_utils::network_address &address, unsigned int score=1) |
| virtual bool | is_remote_host_allowed (const epee::net_utils::network_address &address, time_t *t=NULL) |
| virtual bool | is_host_limit (const epee::net_utils::network_address &address) |
| bool | parse_peer_from_string (epee::net_utils::network_address &pe, const std::string &node_addr, uint16_t default_port=0) |
| bool | handle_command_line (const boost::program_options::variables_map &vm) |
| bool | idle_worker () |
| bool | handle_remote_peerlist (const std::vector< peerlist_entry > &peerlist, const epee::net_utils::connection_context_base &context) |
| bool | get_local_node_data (basic_node_data &node_data, const network_zone &zone) |
| bool | sanitize_peerlist (std::vector< peerlist_entry > &local_peerlist) |
| bool | connections_maker () |
| bool | peer_sync_idle_maker () |
| bool | do_handshake_with_peer (peerid_type &pi, p2p_connection_context &context, bool just_take_peerlist=false) |
| bool | do_peer_timed_sync (const epee::net_utils::connection_context_base &context, peerid_type peer_id) |
| bool | update_dns_blocklist () |
| bool | make_new_connection_from_anchor_peerlist (const std::vector< anchor_peerlist_entry > &anchor_peerlist) |
| bool | make_new_connection_from_peerlist (network_zone &zone, bool use_white_list) |
| bool | try_to_connect_and_handshake_with_new_peer (const epee::net_utils::network_address &na, bool just_take_peerlist=false, uint64_t last_seen_stamp=0, PeerType peer_type=white, uint64_t first_seen_stamp=0) |
| size_t | get_random_index_with_fixed_probability (size_t max_index) |
| bool | is_peer_used (const peerlist_entry &peer) |
| bool | is_peer_used (const anchor_peerlist_entry &peer) |
| bool | is_addr_connected (const epee::net_utils::network_address &peer) |
| void | add_upnp_port_mapping_impl (uint32_t port, bool ipv6=false) |
| void | add_upnp_port_mapping_v4 (uint32_t port) |
| void | add_upnp_port_mapping_v6 (uint32_t port) |
| void | add_upnp_port_mapping (uint32_t port, bool ipv4=true, bool ipv6=false) |
| void | delete_upnp_port_mapping_impl (uint32_t port, bool ipv6=false) |
| void | delete_upnp_port_mapping_v4 (uint32_t port) |
| void | delete_upnp_port_mapping_v6 (uint32_t port) |
| void | delete_upnp_port_mapping (uint32_t port) |
| template<class t_callback> |
| bool | try_ping (basic_node_data &node_data, p2p_connection_context &context, const t_callback &cb) |
| bool | try_get_support_flags (const p2p_connection_context &context, std::function< void(p2p_connection_context &, const uint32_t &)> f) |
| bool | make_expected_connections_count (network_zone &zone, PeerType peer_type, size_t expected_connections) |
| void | record_addr_failed (const epee::net_utils::network_address &addr) |
| bool | is_addr_recently_failed (const epee::net_utils::network_address &addr) |
| bool | is_priority_node (const epee::net_utils::network_address &na) |
| std::set< std::string > | get_ip_seed_nodes () const |
| std::set< std::string > | get_dns_seed_nodes () |
| std::set< std::string > | get_seed_nodes (epee::net_utils::zone) |
| bool | connect_to_seed (epee::net_utils::zone) |
| template<class Container> |
| bool | connect_to_peerlist (const Container &peers) |
| template<class Container> |
| bool | parse_peers_and_add_to_container (const boost::program_options::variables_map &vm, const command_line::arg_descriptor< std::vector< std::string > > &arg, Container &container) |
| bool | set_max_out_peers (network_zone &zone, int64_t max) |
| bool | set_max_in_peers (network_zone &zone, int64_t max) |
| bool | set_tos_flag (const boost::program_options::variables_map &vm, int limit) |
| bool | set_rate_up_limit (const boost::program_options::variables_map &vm, int64_t limit) |
| bool | set_rate_down_limit (const boost::program_options::variables_map &vm, int64_t limit) |
| bool | set_rate_limit (const boost::program_options::variables_map &vm, int64_t limit) |
| bool | has_too_many_connections (const epee::net_utils::network_address &address) |
| size_t | get_incoming_connections_count () |
| size_t | get_incoming_connections_count (network_zone &) |
| size_t | get_outgoing_connections_count () |
| size_t | get_outgoing_connections_count (network_zone &) |
| bool | check_connection_and_handshake_with_peer (const epee::net_utils::network_address &na, uint64_t last_seen_stamp) |
| bool | gray_peerlist_housekeeping () |
| bool | check_incoming_connections () |
| void | kill () |
| std::string | print_connections_container () |