mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-11 18:04:18 +00:00
Implement Metadatav3 (#6303)
* Add a V3 variant for metadata * Add v3 for requests; persistence logic * Set custody_subnets on setting metadata * Fix tests * Address some comments * fmt * Address more comments * Fix tests * Update metadata rpc limits * Update method doc.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
//! Implementation of Lighthouse's peer management system.
|
||||
|
||||
use crate::discovery::enr_ext::EnrExt;
|
||||
use crate::discovery::peer_id_to_node_id;
|
||||
use crate::rpc::{GoodbyeReason, MetaData, Protocol, RPCError, RPCResponseErrorCode};
|
||||
use crate::service::TARGET_SUBNET_PEERS;
|
||||
use crate::{error, metrics, Gossipsub};
|
||||
@@ -716,7 +717,8 @@ impl<E: EthSpec> PeerManager<E> {
|
||||
debug!(self.log, "Obtained peer's metadata";
|
||||
"peer_id" => %peer_id, "new_seq_no" => meta_data.seq_number());
|
||||
}
|
||||
peer_info.set_meta_data(meta_data);
|
||||
let node_id_opt = peer_id_to_node_id(peer_id).ok();
|
||||
peer_info.set_meta_data(meta_data, node_id_opt, &self.network_globals.spec);
|
||||
} else {
|
||||
error!(self.log, "Received METADATA from an unknown peer";
|
||||
"peer_id" => %peer_id);
|
||||
@@ -1678,7 +1680,11 @@ mod tests {
|
||||
.write()
|
||||
.peer_info_mut(&peer0)
|
||||
.unwrap()
|
||||
.set_meta_data(MetaData::V2(metadata));
|
||||
.set_meta_data(
|
||||
MetaData::V2(metadata),
|
||||
None,
|
||||
&peer_manager.network_globals.spec,
|
||||
);
|
||||
peer_manager
|
||||
.network_globals
|
||||
.peers
|
||||
@@ -1698,7 +1704,11 @@ mod tests {
|
||||
.write()
|
||||
.peer_info_mut(&peer2)
|
||||
.unwrap()
|
||||
.set_meta_data(MetaData::V2(metadata));
|
||||
.set_meta_data(
|
||||
MetaData::V2(metadata),
|
||||
None,
|
||||
&peer_manager.network_globals.spec,
|
||||
);
|
||||
peer_manager
|
||||
.network_globals
|
||||
.peers
|
||||
@@ -1718,7 +1728,11 @@ mod tests {
|
||||
.write()
|
||||
.peer_info_mut(&peer4)
|
||||
.unwrap()
|
||||
.set_meta_data(MetaData::V2(metadata));
|
||||
.set_meta_data(
|
||||
MetaData::V2(metadata),
|
||||
None,
|
||||
&peer_manager.network_globals.spec,
|
||||
);
|
||||
peer_manager
|
||||
.network_globals
|
||||
.peers
|
||||
@@ -1792,7 +1806,11 @@ mod tests {
|
||||
.write()
|
||||
.peer_info_mut(&peer)
|
||||
.unwrap()
|
||||
.set_meta_data(MetaData::V2(metadata));
|
||||
.set_meta_data(
|
||||
MetaData::V2(metadata),
|
||||
None,
|
||||
&peer_manager.network_globals.spec,
|
||||
);
|
||||
peer_manager
|
||||
.network_globals
|
||||
.peers
|
||||
@@ -1916,7 +1934,11 @@ mod tests {
|
||||
.write()
|
||||
.peer_info_mut(&peer)
|
||||
.unwrap()
|
||||
.set_meta_data(MetaData::V2(metadata));
|
||||
.set_meta_data(
|
||||
MetaData::V2(metadata),
|
||||
None,
|
||||
&peer_manager.network_globals.spec,
|
||||
);
|
||||
let long_lived_subnets = peer_manager
|
||||
.network_globals
|
||||
.peers
|
||||
@@ -2025,7 +2047,11 @@ mod tests {
|
||||
.write()
|
||||
.peer_info_mut(&peer)
|
||||
.unwrap()
|
||||
.set_meta_data(MetaData::V2(metadata));
|
||||
.set_meta_data(
|
||||
MetaData::V2(metadata),
|
||||
None,
|
||||
&peer_manager.network_globals.spec,
|
||||
);
|
||||
let long_lived_subnets = peer_manager
|
||||
.network_globals
|
||||
.peers
|
||||
@@ -2191,7 +2217,11 @@ mod tests {
|
||||
.write()
|
||||
.peer_info_mut(&peer)
|
||||
.unwrap()
|
||||
.set_meta_data(MetaData::V2(metadata));
|
||||
.set_meta_data(
|
||||
MetaData::V2(metadata),
|
||||
None,
|
||||
&peer_manager.network_globals.spec,
|
||||
);
|
||||
let long_lived_subnets = peer_manager
|
||||
.network_globals
|
||||
.peers
|
||||
@@ -2348,7 +2378,11 @@ mod tests {
|
||||
|
||||
let mut peer_db = peer_manager.network_globals.peers.write();
|
||||
let peer_info = peer_db.peer_info_mut(&condition.peer_id).unwrap();
|
||||
peer_info.set_meta_data(MetaData::V2(metadata));
|
||||
peer_info.set_meta_data(
|
||||
MetaData::V2(metadata),
|
||||
None,
|
||||
&peer_manager.network_globals.spec,
|
||||
);
|
||||
peer_info.set_gossipsub_score(condition.gossipsub_score);
|
||||
peer_info.add_to_score(condition.score);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user