eth::EthPeerQueue¶
Producer/consumer boundary for eth-watch peer candidates. More...
#include <eth_peer_queue.hpp>
Public Functions¶
| Name | |
|---|---|
| EthPeerQueue(std::shared_ptr< discv4::DialScheduler > scheduler, EthPeerQueueConfig config ={}) | |
| ~EthPeerQueue() | |
| void | preload_cached_peers(const std::vector< discv4::ValidatedPeer > & peers) Enqueue pre-cached RLPx/ETH peer candidates from chain_enodes.json.nodes. |
| void | set_discovery_bootnodes(std::vector< discv4::ValidatedPeer > bootnodes) Store discovery-only seed nodes from chain_enodes.json.bootnodes. |
| bool | enqueue_discovered_peer(const discv4::DiscoveredPeer & peer) Enqueue a live peer produced by discovery. |
| bool | enqueue_validated_discovery_peer(const discovery::ValidatedPeer & peer) Enqueue a validated live peer produced by ENR/discv5 discovery. |
| bool | report_peer_disconnected(const EthPeerDisconnectFeedback & feedback) Requeue eligible disconnected peers without letting flaky nodes cycle forever. |
| const std::vector< discv4::ValidatedPeer > & | discovery_bootnodes() const |
| bool | needs_discovery() const |
| size_t | cached_peer_count() const |
| size_t | discovered_peer_count() const |
| size_t | requeued_peer_count() const |
| size_t | duplicate_peer_drop_count() const |
| size_t | capacity_drop_count() const |
| size_t | flaky_peer_drop_count() const |
| size_t | too_many_peers_backoff_count() const |
| size_t | backoff_drop_count() const |
| EthPeerQueueStatsSnapshot | stats() const |
| std::shared_ptr< discv4::DialScheduler > | scheduler() const |
Detailed Description¶
Producer/consumer boundary for eth-watch peer candidates.
Cached chain peers and live discovery both feed this queue. Discovery seeds are retained separately and are never consumed as direct RLPx/ETH peers.
Public Functions Documentation¶
function EthPeerQueue¶
explicit EthPeerQueue(
std::shared_ptr< discv4::DialScheduler > scheduler,
EthPeerQueueConfig config ={}
)
function ~EthPeerQueue¶
function preload_cached_peers¶
Enqueue pre-cached RLPx/ETH peer candidates from chain_enodes.json.nodes.
function set_discovery_bootnodes¶
Store discovery-only seed nodes from chain_enodes.json.bootnodes.
function enqueue_discovered_peer¶
Enqueue a live peer produced by discovery.
function enqueue_validated_discovery_peer¶
Enqueue a validated live peer produced by ENR/discv5 discovery.
function report_peer_disconnected¶
Requeue eligible disconnected peers without letting flaky nodes cycle forever.
function discovery_bootnodes¶
function needs_discovery¶
function cached_peer_count¶
function discovered_peer_count¶
function requeued_peer_count¶
function duplicate_peer_drop_count¶
function capacity_drop_count¶
function flaky_peer_drop_count¶
function too_many_peers_backoff_count¶
function backoff_drop_count¶
function stats¶
function scheduler¶
Updated on 2026-06-05 at 17:22:18 -0700