BitShares-Core
7.0.2
BitShares blockchain node software and command-line wallet software
|
#include <node_impl.hxx>
Classes | |
class | address_builder |
struct | item_id_index |
Definition at line 410 of file node_impl.hxx.
typedef std::unordered_map<graphene::net::block_id_type, fc::time_point> graphene::net::detail::node_impl::active_sync_requests_map |
Definition at line 458 of file node_impl.hxx.
using graphene::net::detail::node_impl::items_to_fetch_set_type = boost::multi_index_container< prioritized_item_id, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::identity<prioritized_item_id> >, boost::multi_index::hashed_unique< boost::multi_index::tag<item_id_index>, boost::multi_index::member<prioritized_item_id, item_id, &prioritized_item_id::item>, std::hash<item_id> > > > |
Definition at line 488 of file node_impl.hxx.
|
explicit |
void graphene::net::detail::node_impl::accept_connection_task | ( | peer_connection_ptr | new_peer | ) |
void graphene::net::detail::node_impl::add_node | ( | const fc::ip::endpoint & | ep | ) |
void graphene::net::detail::node_impl::add_seed_node | ( | const std::string & | seed_string | ) |
void graphene::net::detail::node_impl::advertise_inventory_loop | ( | ) |
void graphene::net::detail::node_impl::bandwidth_monitor_loop | ( | ) |
void graphene::net::detail::node_impl::broadcast | ( | const message & | item_to_broadcast | ) |
void graphene::net::detail::node_impl::broadcast | ( | const message & | item_to_broadcast, |
const message_propagation_data & | propagation_data | ||
) |
uint32_t graphene::net::detail::node_impl::calculate_unsynced_block_count_from_all_peers | ( | ) |
void graphene::net::detail::node_impl::clear_peer_database | ( | ) |
void graphene::net::detail::node_impl::connect_to_endpoint | ( | const fc::ip::endpoint & | ep | ) |
void graphene::net::detail::node_impl::connect_to_p2p_network | ( | node_impl_ptr | self | ) |
void graphene::net::detail::node_impl::connect_to_task | ( | peer_connection_ptr | new_peer, |
const fc::ip::endpoint & | remote_endpoint | ||
) |
std::vector< item_hash_t > graphene::net::detail::node_impl::create_blockchain_synopsis_for_peer | ( | const peer_connection * | peer | ) |
void graphene::net::detail::node_impl::delayed_peer_deletion_task | ( | ) |
void graphene::net::detail::node_impl::disconnect_from_peer | ( | peer_connection * | originating_peer, |
const std::string & | reason_for_disconnect, | ||
bool | caused_by_error = false , |
||
const fc::oexception & | additional_data = fc::oexception() |
||
) |
void graphene::net::detail::node_impl::display_current_connections | ( | ) |
void graphene::net::detail::node_impl::dump_node_status | ( | ) |
void graphene::net::detail::node_impl::dump_node_status_task | ( | ) |
void graphene::net::detail::node_impl::fetch_items_loop | ( | ) |
void graphene::net::detail::node_impl::fetch_next_batch_of_item_ids_from_peer | ( | peer_connection * | peer, |
bool | reset_fork_tracking_data_for_peer = false |
||
) |
void graphene::net::detail::node_impl::fetch_sync_items_loop | ( | ) |
void graphene::net::detail::node_impl::fetch_updated_peer_lists_loop | ( | ) |
fc::variant_object graphene::net::detail::node_impl::generate_hello_user_data | ( | ) |
peer_connection_ptr graphene::net::detail::node_impl::get_active_conn_for_endpoint | ( | const fc::ip::endpoint & | remote_endpoint | ) | const |
fc::ip::endpoint graphene::net::detail::node_impl::get_actual_listening_endpoint | ( | ) | const |
fc::variant_object graphene::net::detail::node_impl::get_advanced_node_parameters | ( | ) |
message_propagation_data graphene::net::detail::node_impl::get_block_propagation_data | ( | const graphene::net::block_id_type & | block_id | ) | const |
fc::variant_object graphene::net::detail::node_impl::get_call_statistics | ( | ) | const |
std::vector< peer_status > graphene::net::detail::node_impl::get_connected_peers | ( | ) | const |
uint32_t graphene::net::detail::node_impl::get_connection_count | ( | ) | const |
peer_connection_ptr graphene::net::detail::node_impl::get_connection_for_endpoint | ( | const fc::ip::endpoint & | remote_endpoint | ) | const |
|
overridevirtual |
Implements graphene::net::peer_connection_delegate.
uint32_t graphene::net::detail::node_impl::get_next_known_hard_fork_block_number | ( | uint32_t | block_number | ) | const |
node_id_t graphene::net::detail::node_impl::get_node_id | ( | ) | const |
uint32_t graphene::net::detail::node_impl::get_number_of_connections | ( | ) |
peer_connection_ptr graphene::net::detail::node_impl::get_peer_by_node_id | ( | const node_id_t & | id | ) | const |
std::vector< potential_peer_record > graphene::net::detail::node_impl::get_potential_peers | ( | ) | const |
|
inline |
Definition at line 424 of file node_impl.hxx.
message_propagation_data graphene::net::detail::node_impl::get_tx_propagation_data | ( | const graphene::net::transaction_id_type & | transaction_id | ) | const |
bool graphene::net::detail::node_impl::have_already_received_sync_item | ( | const item_hash_t & | item_hash | ) |
void graphene::net::detail::node_impl::initiate_connect_to | ( | const peer_connection_ptr & | peer | ) |
bool graphene::net::detail::node_impl::is_accepting_new_connections | ( | ) |
bool graphene::net::detail::node_impl::is_connected | ( | ) | const |
bool graphene::net::detail::node_impl::is_connected_to_endpoint | ( | const fc::ip::endpoint & | remote_endpoint | ) | const |
bool graphene::net::detail::node_impl::is_hard_fork_block | ( | uint32_t | block_number | ) | const |
bool graphene::net::detail::node_impl::is_item_in_any_peers_inventory | ( | const item_id & | item | ) | const |
bool graphene::net::detail::node_impl::is_wanting_new_connections | ( | ) |
void graphene::net::detail::node_impl::kill_inactive_conns_loop | ( | node_impl_ptr | self | ) |
void graphene::net::detail::node_impl::listen_to_p2p_network | ( | ) |
void graphene::net::detail::node_impl::load_configuration | ( | const fc::path & | configuration_directory | ) |
bool graphene::net::detail::node_impl::merge_address_info_with_potential_peer_database | ( | const std::vector< address_info > | addresses | ) |
void graphene::net::detail::node_impl::move_peer_to_active_list | ( | const peer_connection_ptr & | peer | ) |
void graphene::net::detail::node_impl::move_peer_to_closing_list | ( | const peer_connection_ptr & | peer | ) |
void graphene::net::detail::node_impl::move_peer_to_terminating_list | ( | const peer_connection_ptr & | peer | ) |
fc::variant_object graphene::net::detail::node_impl::network_get_info | ( | ) | const |
fc::variant_object graphene::net::detail::node_impl::network_get_usage_stats | ( | ) | const |
void graphene::net::detail::node_impl::new_peer_just_added | ( | const peer_connection_ptr & | peer | ) |
void graphene::net::detail::node_impl::on_address_message | ( | peer_connection * | originating_peer, |
const address_message & | address_message_received | ||
) |
void graphene::net::detail::node_impl::on_address_request_message | ( | peer_connection * | originating_peer, |
const address_request_message & | |||
) |
void graphene::net::detail::node_impl::on_blockchain_item_ids_inventory_message | ( | peer_connection * | originating_peer, |
const blockchain_item_ids_inventory_message & | blockchain_item_ids_inventory_message_received | ||
) |
void graphene::net::detail::node_impl::on_closing_connection_message | ( | peer_connection * | originating_peer, |
const closing_connection_message & | closing_connection_message_received | ||
) |
void graphene::net::detail::node_impl::on_connection_accepted_message | ( | peer_connection * | originating_peer, |
const connection_accepted_message & | |||
) | const |
|
overridevirtual |
Implements graphene::net::peer_connection_delegate.
void graphene::net::detail::node_impl::on_connection_rejected_message | ( | peer_connection * | originating_peer, |
const connection_rejected_message & | connection_rejected_message_received | ||
) |
void graphene::net::detail::node_impl::on_current_time_reply_message | ( | peer_connection * | originating_peer, |
const current_time_reply_message & | current_time_reply_message_received | ||
) |
void graphene::net::detail::node_impl::on_current_time_request_message | ( | peer_connection * | originating_peer, |
const current_time_request_message & | current_time_request_message_received | ||
) |
void graphene::net::detail::node_impl::on_fetch_blockchain_item_ids_message | ( | peer_connection * | originating_peer, |
const fetch_blockchain_item_ids_message & | fetch_blockchain_item_ids_message_received | ||
) |
void graphene::net::detail::node_impl::on_fetch_items_message | ( | peer_connection * | originating_peer, |
const fetch_items_message & | fetch_items_message_received | ||
) |
void graphene::net::detail::node_impl::on_hello_message | ( | peer_connection * | originating_peer, |
const hello_message & | hello_message_received | ||
) |
void graphene::net::detail::node_impl::on_item_ids_inventory_message | ( | peer_connection * | originating_peer, |
const item_ids_inventory_message & | item_ids_inventory_message_received | ||
) |
void graphene::net::detail::node_impl::on_item_not_available_message | ( | peer_connection * | originating_peer, |
const item_not_available_message & | item_not_available_message_received | ||
) |
|
overridevirtual |
Implements graphene::net::peer_connection_delegate.
void graphene::net::detail::node_impl::p2p_network_connect_loop | ( | ) |
void graphene::net::detail::node_impl::parse_hello_user_data_for_peer | ( | peer_connection * | originating_peer, |
const fc::variant_object & | user_data | ||
) |
void graphene::net::detail::node_impl::process_backlog_of_sync_blocks | ( | ) |
void graphene::net::detail::node_impl::process_block_during_syncing | ( | peer_connection * | originating_peer, |
const graphene::net::block_message & | block_message, | ||
const message_hash_type & | message_hash | ||
) |
void graphene::net::detail::node_impl::process_block_message | ( | peer_connection * | originating_peer, |
const message & | message_to_process, | ||
const message_hash_type & | message_hash | ||
) |
void graphene::net::detail::node_impl::process_block_when_in_sync | ( | peer_connection * | originating_peer, |
const graphene::net::block_message & | block_message, | ||
const message_hash_type & | message_hash | ||
) |
void graphene::net::detail::node_impl::process_ordinary_message | ( | peer_connection * | originating_peer, |
const message & | message_to_process, | ||
const message_hash_type & | message_hash | ||
) |
void graphene::net::detail::node_impl::request_sync_item_from_peer | ( | const peer_connection_ptr & | peer, |
const item_hash_t & | item_to_request | ||
) |
void graphene::net::detail::node_impl::request_sync_items_from_peer | ( | const peer_connection_ptr & | peer, |
const std::vector< item_hash_t > & | items_to_request | ||
) |
void graphene::net::detail::node_impl::resolve_seed_node_and_add | ( | const std::string & | seed_string | ) |
void graphene::net::detail::node_impl::save_node_configuration | ( | ) |
void graphene::net::detail::node_impl::schedule_next_update_seed_nodes_task | ( | ) |
void graphene::net::detail::node_impl::schedule_peer_for_deletion | ( | const peer_connection_ptr & | peer_to_delete | ) |
void graphene::net::detail::node_impl::send_hello_message | ( | const peer_connection_ptr & | peer | ) |
void graphene::net::detail::node_impl::send_sync_block_to_node_delegate | ( | const graphene::net::block_message & | block_message_to_send | ) |
void graphene::net::detail::node_impl::set_accept_incoming_connections | ( | bool | accept | ) |
void graphene::net::detail::node_impl::set_advanced_node_parameters | ( | const fc::variant_object & | params | ) |
void graphene::net::detail::node_impl::set_advertise_algorithm | ( | const std::string & | algo, |
const std::vector< std::string > & | advertise_or_exclude_list | ||
) |
void graphene::net::detail::node_impl::set_allowed_peers | ( | const std::vector< node_id_t > & | allowed_peers | ) |
void graphene::net::detail::node_impl::set_connect_to_new_peers | ( | bool | connect | ) |
void graphene::net::detail::node_impl::set_inbound_endpoint | ( | const fc::ip::endpoint & | ep | ) |
void graphene::net::detail::node_impl::set_listen_endpoint | ( | const fc::ip::endpoint & | ep, |
bool | wait_if_not_available | ||
) |
void graphene::net::detail::node_impl::set_node_delegate | ( | std::shared_ptr< node_delegate > | del, |
fc::thread * | thread_for_delegate_calls | ||
) |
void graphene::net::detail::node_impl::set_total_bandwidth_limit | ( | uint32_t | upload_bytes_per_second, |
uint32_t | download_bytes_per_second | ||
) |
void graphene::net::detail::node_impl::start_synchronizing | ( | ) |
void graphene::net::detail::node_impl::start_synchronizing_with_peer | ( | const peer_connection_ptr & | peer | ) |
void graphene::net::detail::node_impl::sync_from | ( | const item_id & | current_head_block, |
const std::vector< uint32_t > & | hard_fork_block_numbers | ||
) |
void graphene::net::detail::node_impl::trigger_advertise_inventory_loop | ( | ) |
void graphene::net::detail::node_impl::trigger_fetch_items_loop | ( | ) |
void graphene::net::detail::node_impl::trigger_fetch_sync_items_loop | ( | ) |
void graphene::net::detail::node_impl::trigger_p2p_network_connect_loop | ( | ) |
void graphene::net::detail::node_impl::trigger_process_backlog_of_sync_blocks | ( | ) |
void graphene::net::detail::node_impl::update_bandwidth_data | ( | uint32_t | bytes_read_this_second, |
uint32_t | bytes_written_this_second | ||
) |
void graphene::net::detail::node_impl::update_seed_nodes_task | ( | ) |
fc::future<void> graphene::net::detail::node_impl::_accept_loop_complete |
Definition at line 536 of file node_impl.hxx.
concurrent_unordered_set<graphene::net::peer_connection_ptr> graphene::net::detail::node_impl::_active_connections |
Stores fully established connections we're either syncing with or in normal operation with
Definition at line 542 of file node_impl.hxx.
active_sync_requests_map graphene::net::detail::node_impl::_active_sync_requests |
List of sync blocks we've asked for from peers but have not yet received.
Definition at line 461 of file node_impl.hxx.
fc::ip::endpoint graphene::net::detail::node_impl::_actual_listening_endpoint |
Stores the endpoint we're listening on. This will be the same as _node_configuration.listen_endpoint, unless that endpoint was already in use. This will be 0.0.0.0:0 if the node is configured to not listen.
Definition at line 439 of file node_impl.hxx.
std::list<potential_peer_record> graphene::net::detail::node_impl::_add_once_node_list |
Used by the task that manages connecting to peers
List of peers we want to connect to as soon as possible
Definition at line 444 of file node_impl.hxx.
std::shared_ptr<address_builder> graphene::net::detail::node_impl::_address_builder = address_builder::create_default_address_builder() |
Definition at line 567 of file node_impl.hxx.
fc::future<void> graphene::net::detail::node_impl::_advertise_inventory_loop_done |
Definition at line 500 of file node_impl.hxx.
boost::circular_buffer<uint32_t> graphene::net::detail::node_impl::_avg_net_read_speed_hours { 72 } |
Average network read speed in the past hours.
Definition at line 580 of file node_impl.hxx.
boost::circular_buffer<uint32_t> graphene::net::detail::node_impl::_avg_net_read_speed_minutes { 60 } |
Average network read speed in the past minutes.
Definition at line 576 of file node_impl.hxx.
boost::circular_buffer<uint32_t> graphene::net::detail::node_impl::_avg_net_read_speed_seconds { 60 } |
Average network read speed in the past seconds.
Definition at line 572 of file node_impl.hxx.
size_t graphene::net::detail::node_impl::_avg_net_usage_minute_counter = 0 |
Average network usage minute counter.
Definition at line 586 of file node_impl.hxx.
size_t graphene::net::detail::node_impl::_avg_net_usage_second_counter = 0 |
Average network usage second counter.
Definition at line 584 of file node_impl.hxx.
boost::circular_buffer<uint32_t> graphene::net::detail::node_impl::_avg_net_write_speed_hours { 72 } |
Average network write speed in the past hours.
Definition at line 582 of file node_impl.hxx.
boost::circular_buffer<uint32_t> graphene::net::detail::node_impl::_avg_net_write_speed_minutes { 60 } |
Average network write speed in the past minutes.
Definition at line 578 of file node_impl.hxx.
boost::circular_buffer<uint32_t> graphene::net::detail::node_impl::_avg_net_write_speed_seconds { 60 } |
Average network write speed in the past seconds.
Definition at line 574 of file node_impl.hxx.
fc::time_point_sec graphene::net::detail::node_impl::_bandwidth_monitor_last_update_time |
Definition at line 588 of file node_impl.hxx.
fc::future<void> graphene::net::detail::node_impl::_bandwidth_monitor_loop_done |
Definition at line 589 of file node_impl.hxx.
fc::sha256 graphene::net::detail::node_impl::_chain_id |
Definition at line 427 of file node_impl.hxx.
concurrent_unordered_set<graphene::net::peer_connection_ptr> graphene::net::detail::node_impl::_closing_connections |
Stores connections we've closed (sent closing message, not actually closed), but are still waiting for the remote end to close before we delete them
Definition at line 545 of file node_impl.hxx.
fc::future<void> graphene::net::detail::node_impl::_delayed_peer_deletion_task_done |
Definition at line 608 of file node_impl.hxx.
std::unique_ptr<statistics_gathering_node_delegate_wrapper> graphene::net::detail::node_impl::_delegate |
Definition at line 426 of file node_impl.hxx.
uint32_t graphene::net::detail::node_impl::_desired_number_of_connections = GRAPHENE_NET_DEFAULT_DESIRED_CONNECTIONS |
If we have less than _desired_number_of_connections
, we will try to connect with more nodes
Definition at line 527 of file node_impl.hxx.
fc::future<void> graphene::net::detail::node_impl::_dump_node_status_task_done |
Definition at line 591 of file node_impl.hxx.
fc::future<void> graphene::net::detail::node_impl::_fetch_item_loop_done |
Definition at line 476 of file node_impl.hxx.
fc::future<void> graphene::net::detail::node_impl::_fetch_sync_items_loop_done |
Definition at line 456 of file node_impl.hxx.
fc::future<void> graphene::net::detail::node_impl::_fetch_updated_peer_lists_loop_done |
Definition at line 569 of file node_impl.hxx.
std::list<fc::future<void> > graphene::net::detail::node_impl::_handle_message_calls_in_progress |
Definition at line 628 of file node_impl.hxx.
concurrent_unordered_set<graphene::net::peer_connection_ptr> graphene::net::detail::node_impl::_handshaking_connections |
Stores all connections which have not yet finished key exchange or are still sending initial handshaking messages back and forth (not yet ready to initiate syncing)
Definition at line 540 of file node_impl.hxx.
std::vector<uint32_t> graphene::net::detail::node_impl::_hard_fork_block_numbers |
List of all block numbers where there are hard forks.
Definition at line 557 of file node_impl.hxx.
items_to_fetch_set_type graphene::net::detail::node_impl::_items_to_fetch |
List of items we know another peer has and we want.
Definition at line 492 of file node_impl.hxx.
size_t graphene::net::detail::node_impl::_items_to_fetch_seq_counter = 0 |
Items to fetch sequence counter.
Definition at line 490 of file node_impl.hxx.
bool graphene::net::detail::node_impl::_items_to_fetch_updated = false |
Definition at line 475 of file node_impl.hxx.
fc::future<void> graphene::net::detail::node_impl::_kill_inactive_conns_loop_done |
Definition at line 505 of file node_impl.hxx.
uint32_t graphene::net::detail::node_impl::_last_reported_number_of_conns = 0 |
Number of connections last reported to the client (to avoid sending duplicate messages)
Definition at line 565 of file node_impl.hxx.
size_t graphene::net::detail::node_impl::_max_addrs_to_handle_at_once = MAX_ADDRESSES_TO_HANDLE_AT_ONCE |
Maximum number of addresses to handle at one time.
Definition at line 620 of file node_impl.hxx.
size_t graphene::net::detail::node_impl::_max_blocks_to_handle_at_once = MAX_BLOCKS_TO_HANDLE_AT_ONCE |
Maximum number of blocks to handle at one time.
Definition at line 622 of file node_impl.hxx.
size_t graphene::net::detail::node_impl::_max_sync_blocks_per_peer = GRAPHENE_NET_MAX_BLOCKS_PER_PEER_DURING_SYNCING |
Maximum number of blocks per peer during syncing.
Definition at line 626 of file node_impl.hxx.
size_t graphene::net::detail::node_impl::_max_sync_blocks_to_prefetch = MAX_SYNC_BLOCKS_TO_PREFETCH |
Maximum number of sync blocks to prefetch.
Definition at line 624 of file node_impl.hxx.
uint32_t graphene::net::detail::node_impl::_maximum_number_of_connections = GRAPHENE_NET_DEFAULT_MAX_CONNECTIONS |
If we have _maximum_number_of_connections or more, we will refuse any inbound connections
Definition at line 529 of file node_impl.hxx.
blockchain_tied_message_cache graphene::net::detail::node_impl::_message_cache |
Cache message we have received and might be required to provide to other peers via inventory requests.
Definition at line 560 of file node_impl.hxx.
boost::circular_buffer<item_hash_t> graphene::net::detail::node_impl::_most_recent_blocks_accepted { _maximum_number_of_connections } |
The /n/ most recent blocks we've accepted (currently tuned to the max number of connections)
Definition at line 551 of file node_impl.hxx.
concurrent_unordered_set<item_id> graphene::net::detail::node_impl::_new_inventory |
List of items we have received but not yet advertised to our peers.
Definition at line 502 of file node_impl.hxx.
std::list<graphene::net::block_message> graphene::net::detail::node_impl::_new_received_sync_items |
List of sync blocks we've just received but haven't yet tried to process.
Definition at line 463 of file node_impl.hxx.
node_configuration graphene::net::detail::node_impl::_node_configuration |
Definition at line 432 of file node_impl.hxx.
fc::path graphene::net::detail::node_impl::_node_configuration_directory |
Definition at line 431 of file node_impl.hxx.
node_id_t graphene::net::detail::node_impl::_node_id |
A random number generated each time the client is launched, used to prevent us from connecting to the same client multiple times (sent in hello messages). Since this was introduced after the hello_message was finalized, this is sent in the user_data field. While this shares the same underlying type as a public key, it is really just a random number.
Definition at line 524 of file node_impl.hxx.
bool graphene::net::detail::node_impl::_node_is_shutting_down = false |
Set to true when we begin our destructor, used to prevent us from starting new tasks while we're shutting down
Definition at line 617 of file node_impl.hxx.
node_id_t graphene::net::detail::node_impl::_node_public_key |
A key automatically generated when the client is first run, stored in node_config.json. It doesn't really have much of a purpose yet, there was just some thought that we might someday have a use for nodes having a private key (sent in hello messages)
Definition at line 515 of file node_impl.hxx.
fc::future<void> graphene::net::detail::node_impl::_p2p_network_connect_loop_done |
Definition at line 449 of file node_impl.hxx.
uint32_t graphene::net::detail::node_impl::_peer_connection_retry_timeout = GRAPHENE_NET_DEFAULT_PEER_CONNECTION_RETRY_TIME |
Retry connections to peers that have failed or rejected us this often, in seconds
Definition at line 531 of file node_impl.hxx.
uint32_t graphene::net::detail::node_impl::_peer_inactivity_timeout = GRAPHENE_NET_PEER_HANDSHAKE_INACTIVITY_TIMEOUT |
How many seconds of inactivity are permitted before disconnecting a peer
Definition at line 533 of file node_impl.hxx.
std::list<peer_connection_ptr> graphene::net::detail::node_impl::_peers_to_delete |
We have two alternate paths through the schedule_peer_for_deletion code – one that uses a mutex to prevent one fiber from adding items to the queue while another is deleting items from it, and one that doesn't. The one that doesn't is simpler and more efficient code, but we're keeping around the version that uses the mutex because it crashes, and this crash probably indicates a bug in our underlying threading code that needs fixing. To produce the bug, define USE_PEERS_TO_DELETE_MUTEX and then connect up to the network and set your desired/max connection counts high
Definition at line 607 of file node_impl.hxx.
peer_database graphene::net::detail::node_impl::_potential_peer_db |
Definition at line 446 of file node_impl.hxx.
bool graphene::net::detail::node_impl::_potential_peer_db_updated = false |
Definition at line 448 of file node_impl.hxx.
fc::future<void> graphene::net::detail::node_impl::_process_backlog_of_sync_blocks_done |
Definition at line 469 of file node_impl.hxx.
fc::rate_limiting_group graphene::net::detail::node_impl::_rate_limiter { 0, 0 } |
Definition at line 562 of file node_impl.hxx.
std::list<graphene::net::block_message> graphene::net::detail::node_impl::_received_sync_items |
List of sync blocks we've received, but can't yet process because we are still missing blocks that come earlier in the chain
Definition at line 466 of file node_impl.hxx.
uint8_t graphene::net::detail::node_impl::_recent_block_interval_seconds = GRAPHENE_MAX_BLOCK_INTERVAL |
A cached copy of the block interval, to avoid a thread hop to the blockchain to get the current value.
Definition at line 507 of file node_impl.hxx.
peer_connection::timestamped_items_set_type graphene::net::detail::node_impl::_recently_failed_items |
List of transactions we've recently pushed and had rejected by the delegate.
Definition at line 494 of file node_impl.hxx.
fc::promise<void>::ptr graphene::net::detail::node_impl::_retrigger_advertise_inventory_loop_promise |
Used by the task that advertises inventory during normal operation
Definition at line 499 of file node_impl.hxx.
fc::promise<void>::ptr graphene::net::detail::node_impl::_retrigger_connect_loop_promise |
Definition at line 447 of file node_impl.hxx.
fc::promise<void>::ptr graphene::net::detail::node_impl::_retrigger_fetch_item_loop_promise |
Used by the task that fetches items during normal operation
Definition at line 474 of file node_impl.hxx.
fc::promise<void>::ptr graphene::net::detail::node_impl::_retrigger_fetch_sync_items_loop_promise |
Used by the task that fetches sync items during synchronization
Definition at line 454 of file node_impl.hxx.
boost::container::flat_set<std::string> graphene::net::detail::node_impl::_seed_nodes |
Used by the task that checks whether addresses of seed nodes have been updated
Definition at line 632 of file node_impl.hxx.
bool graphene::net::detail::node_impl::_suspend_fetching_sync_blocks = false |
Definition at line 470 of file node_impl.hxx.
uint32_t graphene::net::detail::node_impl::_sync_item_type = 0 |
Definition at line 553 of file node_impl.hxx.
bool graphene::net::detail::node_impl::_sync_items_to_fetch_updated = false |
Definition at line 455 of file node_impl.hxx.
fc::tcp_server graphene::net::detail::node_impl::_tcp_server |
Definition at line 535 of file node_impl.hxx.
concurrent_unordered_set<graphene::net::peer_connection_ptr> graphene::net::detail::node_impl::_terminating_connections |
Stores connections we've closed, but are still waiting for the OS to notify us that the socket is really closed
Definition at line 548 of file node_impl.hxx.
std::shared_ptr<fc::thread> graphene::net::detail::node_impl::_thread = std::make_shared<fc::thread>("p2p") |
Definition at line 423 of file node_impl.hxx.
uint32_t graphene::net::detail::node_impl::_total_num_of_unfetched_items = 0 |
The number of items we still need to fetch while syncing.
Definition at line 555 of file node_impl.hxx.
fc::future<void> graphene::net::detail::node_impl::_update_seed_nodes_loop_done |
Definition at line 633 of file node_impl.hxx.
std::string graphene::net::detail::node_impl::_user_agent_string |
Definition at line 509 of file node_impl.hxx.