Add logging to libp2p-websocket (#142)

This commit is contained in:
Pierre Krieger 2018-03-15 15:45:11 +01:00 committed by GitHub
parent 68299c40a5
commit fd9349d15a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 16 additions and 0 deletions

View File

@ -7,6 +7,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
libp2p-swarm = { path = "../libp2p-swarm" } libp2p-swarm = { path = "../libp2p-swarm" }
futures = "0.1" futures = "0.1"
multiaddr = "0.2.0" multiaddr = "0.2.0"
log = "0.4.1"
rw-stream-sink = { path = "../rw-stream-sink" } rw-stream-sink = { path = "../rw-stream-sink" }
tokio-io = "0.1" tokio-io = "0.1"

View File

@ -72,6 +72,8 @@ impl Transport for BrowserWsConfig {
Err(_) => return Err((self, original_addr)), Err(_) => return Err((self, original_addr)),
}; };
debug!(target: "libp2p-websocket", "Dialing {}", original_addr);
// Create the JS `WebSocket` object. // Create the JS `WebSocket` object.
let websocket = { let websocket = {
let val = js! { let val = js! {

View File

@ -89,11 +89,14 @@ where
} }
}; };
debug!(target: "libp2p-websocket", "Listening on {}", new_addr);
let listen = inner_listen.map::<_, fn(_) -> _>(|stream| { let listen = inner_listen.map::<_, fn(_) -> _>(|stream| {
// Upgrade the listener to websockets like the websockets library requires us to do. // Upgrade the listener to websockets like the websockets library requires us to do.
let upgraded = stream.and_then(|(stream, mut client_addr)| { let upgraded = stream.and_then(|(stream, mut client_addr)| {
// Need to suffix `/ws` to each client address. // Need to suffix `/ws` to each client address.
client_addr.append(AddrComponent::WS); client_addr.append(AddrComponent::WS);
debug!(target: "libp2p-websocket", "Incoming connection from {}", client_addr);
stream stream
.into_ws() .into_ws()
@ -104,6 +107,9 @@ where
.accept() .accept()
.map_err(|err| IoError::new(IoErrorKind::Other, err)) .map_err(|err| IoError::new(IoErrorKind::Other, err))
.map(|(client, _http_headers)| { .map(|(client, _http_headers)| {
debug!(target: "libp2p-websocket", "Upgraded incoming connection \
to websockets");
// Plug our own API on top of the `websockets` API. // Plug our own API on top of the `websockets` API.
let framed_data = client let framed_data = client
.map_err(|err| IoError::new(IoErrorKind::Other, err)) .map_err(|err| IoError::new(IoErrorKind::Other, err))
@ -147,6 +153,8 @@ where
_ => return Err((self, original_addr)), _ => return Err((self, original_addr)),
}; };
debug!(target: "libp2p-websocket", "Dialing {} through inner transport", inner_addr);
let inner_dial = match self.transport.dial(inner_addr) { let inner_dial = match self.transport.dial(inner_addr) {
Ok(d) => d, Ok(d) => d,
Err((transport, _)) => { Err((transport, _)) => {
@ -172,6 +180,9 @@ where
.async_connect_on(connec) .async_connect_on(connec)
.map_err(|err| IoError::new(IoErrorKind::Other, err)) .map_err(|err| IoError::new(IoErrorKind::Other, err))
.map(|(client, _)| { .map(|(client, _)| {
debug!(target: "libp2p-websocket", "Upgraded outgoing connection to \
websockets");
// Plug our own API on top of the API of the websockets library. // Plug our own API on top of the API of the websockets library.
let framed_data = client let framed_data = client
.map_err(|err| IoError::new(IoErrorKind::Other, err)) .map_err(|err| IoError::new(IoErrorKind::Other, err))

View File

@ -76,6 +76,8 @@
extern crate futures; extern crate futures;
extern crate libp2p_swarm as swarm; extern crate libp2p_swarm as swarm;
#[macro_use]
extern crate log;
extern crate multiaddr; extern crate multiaddr;
extern crate rw_stream_sink; extern crate rw_stream_sink;
extern crate tokio_io; extern crate tokio_io;