do subnet discoveries until we have MESH_N_LOW many peers (#1886)
## Issue Addressed NA ## Proposed Changes Increases the target peers for a subnet, so that subnet queries are executed until we have at least the minimum required peers for a mesh (`MESH_N_LOW`). We keep the limit of `6` target peers for aggregated subnet discovery queries, therefore the size (and the time needed) for a query doesn't change.
This commit is contained in:
parent
11076912d9
commit
fcb4893f72
@ -17,6 +17,7 @@ use std::time::Duration;
|
|||||||
pub const GOSSIP_MAX_SIZE: usize = 1_048_576;
|
pub const GOSSIP_MAX_SIZE: usize = 1_048_576;
|
||||||
const MESSAGE_DOMAIN_INVALID_SNAPPY: [u8; 4] = [0, 0, 0, 0];
|
const MESSAGE_DOMAIN_INVALID_SNAPPY: [u8; 4] = [0, 0, 0, 0];
|
||||||
const MESSAGE_DOMAIN_VALID_SNAPPY: [u8; 4] = [1, 0, 0, 0];
|
const MESSAGE_DOMAIN_VALID_SNAPPY: [u8; 4] = [1, 0, 0, 0];
|
||||||
|
pub const MESH_N_LOW: usize = 6;
|
||||||
|
|
||||||
pub type GossipsubConfig = GenericGossipsubConfig<MessageData>;
|
pub type GossipsubConfig = GenericGossipsubConfig<MessageData>;
|
||||||
pub type GossipsubConfigBuilder = GenericGossipsubConfigBuilder<MessageData>;
|
pub type GossipsubConfigBuilder = GenericGossipsubConfigBuilder<MessageData>;
|
||||||
@ -130,7 +131,7 @@ impl Default for Config {
|
|||||||
.max_transmit_size(GOSSIP_MAX_SIZE)
|
.max_transmit_size(GOSSIP_MAX_SIZE)
|
||||||
.heartbeat_interval(Duration::from_millis(700))
|
.heartbeat_interval(Duration::from_millis(700))
|
||||||
.mesh_n(8)
|
.mesh_n(8)
|
||||||
.mesh_n_low(6)
|
.mesh_n_low(MESH_N_LOW)
|
||||||
.mesh_n_high(12)
|
.mesh_n_high(12)
|
||||||
.gossip_lazy(6)
|
.gossip_lazy(6)
|
||||||
.fanout_ttl(Duration::from_secs(60))
|
.fanout_ttl(Duration::from_secs(60))
|
||||||
|
@ -7,7 +7,7 @@ pub use enr::{build_enr, create_enr_builder_from_config, use_or_load_enr, Combin
|
|||||||
pub use enr_ext::{peer_id_to_node_id, CombinedKeyExt, EnrExt};
|
pub use enr_ext::{peer_id_to_node_id, CombinedKeyExt, EnrExt};
|
||||||
pub use libp2p::core::identity::{Keypair, PublicKey};
|
pub use libp2p::core::identity::{Keypair, PublicKey};
|
||||||
|
|
||||||
use crate::metrics;
|
use crate::{config, metrics};
|
||||||
use crate::{error, Enr, NetworkConfig, NetworkGlobals, SubnetDiscovery};
|
use crate::{error, Enr, NetworkConfig, NetworkGlobals, SubnetDiscovery};
|
||||||
use discv5::{enr::NodeId, Discv5, Discv5Event};
|
use discv5::{enr::NodeId, Discv5, Discv5Event};
|
||||||
use enr::{BITFIELD_ENR_KEY, ETH2_ENR_KEY};
|
use enr::{BITFIELD_ENR_KEY, ETH2_ENR_KEY};
|
||||||
@ -36,7 +36,7 @@ pub use subnet_predicate::subnet_predicate;
|
|||||||
/// Local ENR storage filename.
|
/// Local ENR storage filename.
|
||||||
pub const ENR_FILENAME: &str = "enr.dat";
|
pub const ENR_FILENAME: &str = "enr.dat";
|
||||||
/// Target number of peers we'd like to have connected to a given long-lived subnet.
|
/// Target number of peers we'd like to have connected to a given long-lived subnet.
|
||||||
pub const TARGET_SUBNET_PEERS: usize = 3;
|
pub const TARGET_SUBNET_PEERS: usize = config::MESH_N_LOW;
|
||||||
/// Target number of peers to search for given a grouped subnet query.
|
/// Target number of peers to search for given a grouped subnet query.
|
||||||
const TARGET_PEERS_FOR_GROUPED_QUERY: usize = 6;
|
const TARGET_PEERS_FOR_GROUPED_QUERY: usize = 6;
|
||||||
/// Number of times to attempt a discovery request.
|
/// Number of times to attempt a discovery request.
|
||||||
|
Loading…
Reference in New Issue
Block a user