X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fln%2Fpeer_handler.rs;h=8ca7532aef930a4a8cf5df4d86abf311c84ef344;hb=00906418aabc482c0067b085e6f57db61df68bb2;hp=9e395f1107b1d62bfc26da2560b78e389987938c;hpb=57e813f971ef391036e6d88742c269b6676f376e;p=rust-lightning diff --git a/lightning/src/ln/peer_handler.rs b/lightning/src/ln/peer_handler.rs index 9e395f11..8ca7532a 100644 --- a/lightning/src/ln/peer_handler.rs +++ b/lightning/src/ln/peer_handler.rs @@ -31,13 +31,14 @@ use util::logger::Logger; use routing::network_graph::NetGraphMsgHandler; use prelude::*; +use io; use alloc::collections::LinkedList; use alloc::fmt::Debug; -use std::sync::{Arc, Mutex}; +use sync::{Arc, Mutex}; use core::sync::atomic::{AtomicUsize, Ordering}; use core::{cmp, hash, fmt, mem}; use core::ops::Deref; -use std::error; +#[cfg(feature = "std")] use std::error; use bitcoin::hashes::sha256::Hash as Sha256; use bitcoin::hashes::sha256::HashEngine as Sha256Engine; @@ -230,6 +231,8 @@ impl fmt::Display for PeerHandleError { formatter.write_str("Peer Sent Invalid Data") } } + +#[cfg(feature = "std")] impl error::Error for PeerHandleError { fn description(&self) -> &str { "Peer Sent Invalid Data" @@ -664,6 +667,7 @@ impl PeerManager Ok(res), Err(e) => { + log_trace!(self.logger, "Peer sent invalid data or we decided to disconnect due to a protocol error"); self.disconnect_event_internal(peer_descriptor, e.no_connection_possible); Err(e) } @@ -735,7 +739,7 @@ impl PeerManager PeerManager x, @@ -888,15 +892,7 @@ impl PeerManager PeerManager { + log_trace!(self.logger, "Handling SendChannelUpdate event in peer_handler for node {} for channel {}", + log_pubkey!(node_id), msg.contents.short_channel_id); + let peer = get_peer_for_forwarding!(node_id); + peer.pending_outbound_buffer.push_back(peer.channel_encryptor.encrypt_message(&encode_msg!(msg))); + }, MessageSendEvent::PaymentFailureNetworkUpdate { ref update } => { self.message_handler.route_handler.handle_htlc_fail_channel_update(update); }, @@ -1343,6 +1345,9 @@ impl PeerManager { match peer.their_node_id { Some(node_id) => { + log_trace!(self.logger, + "Handling disconnection of peer {}, with {}future connection to the peer possible.", + log_pubkey!(node_id), if no_connection_possible { "no " } else { "" }); peers.node_id_to_descriptor.remove(&node_id); self.message_handler.chan_handler.peer_disconnected(&node_id, no_connection_possible); }, @@ -1371,9 +1376,12 @@ impl PeerManager