mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-05-02 22:22:15 +00:00
Add logging to libp2p-websocket (#142)
This commit is contained in:
parent
68299c40a5
commit
fd9349d15a
@ -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"
|
||||||
|
|
||||||
|
@ -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! {
|
||||||
|
@ -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))
|
||||||
|
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user