@@ -11,16 +11,15 @@ pub use enr_ext::{peer_id_to_node_id, CombinedKeyExt, EnrExt};
1111pub use libp2p:: core:: identity:: { Keypair , PublicKey } ;
1212
1313use crate :: { config, metrics} ;
14- use crate :: { error, Enr , NetworkConfig , NetworkGlobals , SubnetDiscovery } ;
14+ use crate :: { error, Enr , NetworkConfig , NetworkGlobals , Subnet , SubnetDiscovery } ;
1515use discv5:: { enr:: NodeId , Discv5 , Discv5Event } ;
1616use enr:: { ATTESTATION_BITFIELD_ENR_KEY , ETH2_ENR_KEY , SYNC_COMMITTEE_BITFIELD_ENR_KEY } ;
1717use futures:: prelude:: * ;
1818use futures:: stream:: FuturesUnordered ;
1919use libp2p:: core:: PeerId ;
2020use lru:: LruCache ;
2121use slog:: { crit, debug, error, info, warn} ;
22- use ssz:: { Decode , Encode } ;
23- use ssz_types:: BitVector ;
22+ use ssz:: Encode ;
2423use std:: {
2524 collections:: { HashMap , VecDeque } ,
2625 net:: { IpAddr , SocketAddr } ,
@@ -67,7 +66,7 @@ pub enum DiscoveryEvent {
6766
6867#[ derive( Debug , Clone , PartialEq ) ]
6968struct SubnetQuery {
70- subnet_id : SubnetId ,
69+ subnet_id : Subnet ,
7170 min_ttl : Option < Instant > ,
7271 retries : usize ,
7372}
@@ -576,7 +575,7 @@ impl<TSpec: EthSpec> Discovery<TSpec> {
576575
577576 /// Adds a subnet query if one doesn't exist. If a subnet query already exists, this
578577 /// updates the min_ttl field.
579- fn add_subnet_query ( & mut self , subnet_id : SubnetId , min_ttl : Option < Instant > , retries : usize ) {
578+ fn add_subnet_query ( & mut self , subnet_id : Subnet , min_ttl : Option < Instant > , retries : usize ) {
580579 // remove the entry and complete the query if greater than the maximum search count
581580 if retries > MAX_DISCOVERY_RETRY {
582581 debug ! (
@@ -611,7 +610,7 @@ impl<TSpec: EthSpec> Discovery<TSpec> {
611610 retries,
612611 } ) ;
613612 // update the metrics and insert into the queue.
614- debug ! ( self . log, "Queuing subnet query" ; "subnet" => * subnet_id, "retries" => retries) ;
613+ debug ! ( self . log, "Queuing subnet query" ; "subnet" => ? subnet_id, "retries" => retries) ;
615614 self . queued_queries . push_back ( query) ;
616615 metrics:: set_gauge ( & metrics:: DISCOVERY_QUEUE , self . queued_queries . len ( ) as i64 ) ;
617616 }
@@ -690,7 +689,7 @@ impl<TSpec: EthSpec> Discovery<TSpec> {
690689
691690 /// Runs a discovery request for a given group of subnets.
692691 fn start_subnet_query ( & mut self , subnet_queries : Vec < SubnetQuery > ) {
693- let mut filtered_subnet_ids: Vec < SubnetId > = Vec :: new ( ) ;
692+ let mut filtered_subnet_ids: Vec < Subnet > = Vec :: new ( ) ;
694693
695694 // find subnet queries that are still necessary
696695 let filtered_subnet_queries: Vec < SubnetQuery > = subnet_queries
@@ -715,7 +714,7 @@ impl<TSpec: EthSpec> Discovery<TSpec> {
715714
716715 let target_peers = TARGET_SUBNET_PEERS - peers_on_subnet;
717716 debug ! ( self . log, "Discovery query started for subnet" ;
718- "subnet_id" => * subnet_query. subnet_id,
717+ "subnet_id" => ? subnet_query. subnet_id,
719718 "connected_peers_on_subnet" => peers_on_subnet,
720719 "target_subnet_peers" => TARGET_SUBNET_PEERS ,
721720 "peers_to_find" => target_peers,
@@ -823,7 +822,7 @@ impl<TSpec: EthSpec> Discovery<TSpec> {
823822 }
824823 }
825824 GroupedQueryType :: Subnet ( queries) => {
826- let subnets_searched_for: Vec < SubnetId > =
825+ let subnets_searched_for: Vec < Subnet > =
827826 queries. iter ( ) . map ( |query| query. subnet_id ) . collect ( ) ;
828827 match query_result. 1 {
829828 Ok ( r) if r. is_empty ( ) => {
@@ -1001,7 +1000,7 @@ mod tests {
10011000 use enr:: EnrBuilder ;
10021001 use slog:: { o, Drain } ;
10031002 use std:: net:: UdpSocket ;
1004- use types:: MinimalEthSpec ;
1003+ use types:: { BitVector , MinimalEthSpec } ;
10051004
10061005 type E = MinimalEthSpec ;
10071006
@@ -1053,7 +1052,7 @@ mod tests {
10531052 let mut discovery = build_discovery ( ) . await ;
10541053 let now = Instant :: now ( ) ;
10551054 let mut subnet_query = SubnetQuery {
1056- subnet_id : SubnetId :: new ( 1 ) ,
1055+ subnet_id : Subnet :: Attestation ( SubnetId :: new ( 1 ) ) ,
10571056 min_ttl : Some ( now) ,
10581057 retries : 0 ,
10591058 } ;
@@ -1100,7 +1099,7 @@ mod tests {
11001099
11011100 let now = Instant :: now ( ) ;
11021101 let subnet_query = SubnetQuery {
1103- subnet_id : SubnetId :: new ( 1 ) ,
1102+ subnet_id : Subnet :: Attestation ( SubnetId :: new ( 1 ) ) ,
11041103 min_ttl : Some ( now + Duration :: from_secs ( 10 ) ) ,
11051104 retries : 0 ,
11061105 } ;
@@ -1147,12 +1146,12 @@ mod tests {
11471146
11481147 let query = GroupedQueryType :: Subnet ( vec ! [
11491148 SubnetQuery {
1150- subnet_id: SubnetId :: new( 1 ) ,
1149+ subnet_id: Subnet :: Attestation ( SubnetId :: new( 1 ) ) ,
11511150 min_ttl: instant1,
11521151 retries: 0 ,
11531152 } ,
11541153 SubnetQuery {
1155- subnet_id: SubnetId :: new( 2 ) ,
1154+ subnet_id: Subnet :: Attestation ( SubnetId :: new( 2 ) ) ,
11561155 min_ttl: instant2,
11571156 retries: 0 ,
11581157 } ,
0 commit comments