mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-06-15 11:01:21 +00:00
Add some diagnostics for the same address being reported despite not in list (#1124)
* Add more diagnostics for TCP * Address review * Publish libp2p-tcp 0.7.2 * Add another diagnostic
This commit is contained in:
@ -188,7 +188,9 @@ where
|
|||||||
if remaining == 0 { break }
|
if remaining == 0 { break }
|
||||||
}
|
}
|
||||||
Ok(Async::Ready(Some(ListenerEvent::Upgrade { upgrade, listen_addr, remote_addr }))) => {
|
Ok(Async::Ready(Some(ListenerEvent::Upgrade { upgrade, listen_addr, remote_addr }))) => {
|
||||||
debug_assert!(listener.addresses.contains(&listen_addr));
|
debug_assert!(listener.addresses.contains(&listen_addr),
|
||||||
|
"Transport reported listen address {} not in the list: {:?}",
|
||||||
|
listen_addr, listener.addresses);
|
||||||
self.listeners.push_front(listener);
|
self.listeners.push_front(listener);
|
||||||
return Async::Ready(ListenersEvent::Incoming {
|
return Async::Ready(ListenersEvent::Incoming {
|
||||||
upgrade,
|
upgrade,
|
||||||
@ -197,6 +199,8 @@ where
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
Ok(Async::Ready(Some(ListenerEvent::NewAddress(a)))) => {
|
Ok(Async::Ready(Some(ListenerEvent::NewAddress(a)))) => {
|
||||||
|
debug_assert!(!listener.addresses.contains(&a),
|
||||||
|
"Transport has reported address {} multiple times", a);
|
||||||
if !listener.addresses.contains(&a) {
|
if !listener.addresses.contains(&a) {
|
||||||
listener.addresses.push(a.clone());
|
listener.addresses.push(a.clone());
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
name = "libp2p-tcp"
|
name = "libp2p-tcp"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
description = "TCP/IP transport protocol for libp2p"
|
description = "TCP/IP transport protocol for libp2p"
|
||||||
version = "0.7.0"
|
version = "0.7.2"
|
||||||
authors = ["Parity Technologies <admin@parity.io>"]
|
authors = ["Parity Technologies <admin@parity.io>"]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
repository = "https://github.com/libp2p/rust-libp2p"
|
repository = "https://github.com/libp2p/rust-libp2p"
|
||||||
|
@ -49,7 +49,7 @@ use libp2p_core::{
|
|||||||
multiaddr::{Protocol, Multiaddr},
|
multiaddr::{Protocol, Multiaddr},
|
||||||
transport::{ListenerEvent, TransportError}
|
transport::{ListenerEvent, TransportError}
|
||||||
};
|
};
|
||||||
use log::{debug, error};
|
use log::{debug, error, trace};
|
||||||
use std::{
|
use std::{
|
||||||
collections::{HashMap, VecDeque},
|
collections::{HashMap, VecDeque},
|
||||||
fmt,
|
fmt,
|
||||||
@ -422,7 +422,7 @@ impl Stream for TcpListenStream {
|
|||||||
|
|
||||||
match apply_config(&self.config, &sock) {
|
match apply_config(&self.config, &sock) {
|
||||||
Ok(()) => {
|
Ok(()) => {
|
||||||
debug!("Incoming connection from {}", remote_addr);
|
trace!("Incoming connection from {} on {}", remote_addr, listen_addr);
|
||||||
self.pending.push_back(ListenerEvent::Upgrade {
|
self.pending.push_back(ListenerEvent::Upgrade {
|
||||||
upgrade: future::ok(TcpTransStream { inner: sock }),
|
upgrade: future::ok(TcpTransStream { inner: sock }),
|
||||||
listen_addr,
|
listen_addr,
|
||||||
@ -430,6 +430,7 @@ impl Stream for TcpListenStream {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
|
debug!("Error upgrading incoming connection from {}: {:?}", remote_addr, err);
|
||||||
self.pending.push_back(ListenerEvent::Upgrade {
|
self.pending.push_back(ListenerEvent::Upgrade {
|
||||||
upgrade: future::err(err),
|
upgrade: future::err(err),
|
||||||
listen_addr,
|
listen_addr,
|
||||||
|
Reference in New Issue
Block a user