X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning-net-tokio%2Fsrc%2Flib.rs;h=a9fd861bc846e440fd8ff54ab31deedf622aa8e6;hb=e6300dab2dca2fb997b02fe37d678732a97b116a;hp=af2f57d3bf2b38b8a87ce3ae51583bcce2267393;hpb=20a81e5c1484dfef0cdf636438889344052cb2b1;p=rust-lightning diff --git a/lightning-net-tokio/src/lib.rs b/lightning-net-tokio/src/lib.rs index af2f57d3..a9fd861b 100644 --- a/lightning-net-tokio/src/lib.rs +++ b/lightning-net-tokio/src/lib.rs @@ -81,10 +81,11 @@ use tokio::io::{AsyncReadExt, AsyncWrite, AsyncWriteExt}; use lightning::ln::peer_handler; use lightning::ln::peer_handler::SocketDescriptor as LnSocketTrait; use lightning::ln::peer_handler::CustomMessageHandler; -use lightning::ln::msgs::{ChannelMessageHandler, RoutingMessageHandler}; +use lightning::ln::msgs::{ChannelMessageHandler, RoutingMessageHandler, NetAddress}; use lightning::util::logger::Logger; use std::task; +use std::net::IpAddr; use std::net::SocketAddr; use std::net::TcpStream as StdTcpStream; use std::sync::{Arc, Mutex}; @@ -222,11 +223,21 @@ pub fn setup_inbound(peer_manager: Arc Some(NetAddress::IPv4 { + addr: ip.octets(), + port: ip_addr.port(), + }), + IpAddr::V6(ip) => Some(NetAddress::IPv6 { + addr: ip.octets(), + port: ip_addr.port(), + }), + }) { Some(tokio::spawn(Connection::schedule_read(peer_manager, us, reader, read_receiver, write_receiver))) } else { // Note that we will skip socket_disconnected here, in accordance with the PeerManager @@ -263,11 +274,20 @@ pub fn setup_outbound(peer_manager: Arc Some(NetAddress::IPv4 { + addr: ip.octets(), + port: ip_addr.port(), + }), + IpAddr::V6(ip) => Some(NetAddress::IPv6 { + addr: ip.octets(), + port: ip_addr.port(), + }), + }) { Some(tokio::spawn(async move { // We should essentially always have enough room in a TCP socket buffer to send the // initial 10s of bytes. However, tokio running in single-threaded mode will always