mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-20 22:05:42 +00:00
Better reporting in libp2p (#337)
This commit is contained in:
committed by
Arkadiy Paronyan
parent
f775b38828
commit
bb8987df28
@@ -97,16 +97,20 @@ struct Shared {
|
|||||||
|
|
||||||
impl NetworkService {
|
impl NetworkService {
|
||||||
/// Starts IO event loop
|
/// Starts IO event loop
|
||||||
pub fn new(config: NetworkConfiguration, filter: Option<Arc<ConnectionFilter>>)
|
pub fn new(
|
||||||
-> Result<NetworkService, Error> {
|
config: NetworkConfiguration,
|
||||||
|
filter: Option<Arc<ConnectionFilter>>
|
||||||
|
) -> Result<NetworkService, Error> {
|
||||||
// TODO: for now `filter` is always `None` ; remove it from the code or implement it
|
// TODO: for now `filter` is always `None` ; remove it from the code or implement it
|
||||||
assert!(filter.is_none());
|
assert!(filter.is_none());
|
||||||
|
|
||||||
let network_state = NetworkState::new(&config)?;
|
let network_state = NetworkState::new(&config)?;
|
||||||
|
|
||||||
let local_peer_id = network_state.local_public_key().clone().into_peer_id();
|
let local_peer_id = network_state.local_public_key().clone()
|
||||||
// TODO: debug! instead?
|
.into_peer_id();
|
||||||
info!(target: "sub-libp2p", "Local node id = {:?}", local_peer_id);
|
let mut listen_addr = config_to_listen_addr(&config);
|
||||||
|
listen_addr.append(AddrComponent::P2P(local_peer_id.clone().into_bytes()));
|
||||||
|
info!(target: "sub-libp2p", "Local node address is: {}", listen_addr);
|
||||||
|
|
||||||
let kad_system = KadSystem::without_init(KadSystemConfig {
|
let kad_system = KadSystem::without_init(KadSystemConfig {
|
||||||
parallelism: 3,
|
parallelism: 3,
|
||||||
@@ -951,11 +955,12 @@ fn dial_peer_custom_proto<T, To, St, C>(
|
|||||||
Ok(socket)
|
Ok(socket)
|
||||||
} else {
|
} else {
|
||||||
debug!(target: "sub-libp2p", "Public key mismatch for \
|
debug!(target: "sub-libp2p", "Public key mismatch for \
|
||||||
node {:?} with proto {:?}", expected_peer_id, proto_id);
|
node {:?} with proto {:?}", expected_peer_id, proto_id);
|
||||||
trace!(target: "sub-libp2p", "Removing addr {} for {:?}",
|
trace!(target: "sub-libp2p", "Removing addr {} for {:?}",
|
||||||
original_addr, expected_peer_id);
|
original_addr, expected_peer_id);
|
||||||
shared.network_state.set_invalid_kad_address(&expected_peer_id, &original_addr);
|
shared.network_state.set_invalid_kad_address(&expected_peer_id, &original_addr);
|
||||||
Err(IoErrorKind::InvalidData.into()) // TODO: correct err
|
Err(IoError::new(IoErrorKind::InvalidData, "public \
|
||||||
|
key mismatch when identifyed peer"))
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
.and_then(move |socket|
|
.and_then(move |socket|
|
||||||
@@ -1029,13 +1034,17 @@ fn process_identify_info(
|
|||||||
original_addr.clone())?; // TODO: wrong local addr
|
original_addr.clone())?; // TODO: wrong local addr
|
||||||
|
|
||||||
if let Some(ref original_listened_addr) = *shared.original_listened_addr.read() {
|
if let Some(ref original_listened_addr) = *shared.original_listened_addr.read() {
|
||||||
if let Some(ext_addr) = transport.nat_traversal(original_listened_addr, &info.observed_addr) {
|
if let Some(mut ext_addr) = transport.nat_traversal(original_listened_addr, &info.observed_addr) {
|
||||||
let mut listened_addrs = shared.listened_addrs.write();
|
let mut listened_addrs = shared.listened_addrs.write();
|
||||||
if !listened_addrs.iter().any(|a| a == &ext_addr) {
|
if !listened_addrs.iter().any(|a| a == &ext_addr) {
|
||||||
trace!(target: "sub-libp2p", "NAT traversal: remote observes us as \
|
trace!(target: "sub-libp2p", "NAT traversal: remote observes us as \
|
||||||
{} ; registering {} as one of our own addresses",
|
{} ; registering {} as one of our own addresses",
|
||||||
info.observed_addr, ext_addr);
|
info.observed_addr, ext_addr);
|
||||||
listened_addrs.push(ext_addr);
|
listened_addrs.push(ext_addr.clone());
|
||||||
|
ext_addr.append(AddrComponent::P2P(shared.kad_system
|
||||||
|
.local_peer_id().clone().into_bytes()));
|
||||||
|
info!(target: "sub-libp2p", "New external node address: {}",
|
||||||
|
ext_addr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user