@@ -151,7 +151,7 @@ use rand::Rng;
151151use std:: convert:: TryInto ;
152152use std:: default:: Default ;
153153use std:: fs;
154- use std:: net:: { SocketAddr , ToSocketAddrs } ;
154+ use std:: net:: ToSocketAddrs ;
155155use std:: str:: FromStr ;
156156use std:: sync:: atomic:: { AtomicBool , Ordering } ;
157157use std:: sync:: { Arc , Mutex , RwLock } ;
@@ -185,7 +185,7 @@ pub struct Config {
185185 /// The used Bitcoin network.
186186 pub network : Network ,
187187 /// The IP address and TCP port the node will listen on.
188- pub listening_address : Option < SocketAddr > ,
188+ pub listening_address : Option < NetAddress > ,
189189 /// The default CLTV expiry delta to be used for payments.
190190 pub default_cltv_expiry_delta : u32 ,
191191}
@@ -285,7 +285,7 @@ impl Builder {
285285 /// Sets the IP address and TCP port on which [`Node`] will listen for incoming network connections.
286286 ///
287287 /// Default: `0.0.0.0:9735`
288- pub fn set_listening_address ( & mut self , listening_address : SocketAddr ) -> & mut Self {
288+ pub fn set_listening_address ( & mut self , listening_address : NetAddress ) -> & mut Self {
289289 self . config . listening_address = Some ( listening_address) ;
290290 self
291291 }
@@ -712,9 +712,15 @@ impl Node {
712712 let stop_listen = Arc :: clone ( & stop_running) ;
713713 let listening_address = listening_address. clone ( ) ;
714714
715+ let bind_addr = listening_address
716+ . to_socket_addrs ( )
717+ . expect ( "Unable to resolve listing address" )
718+ . next ( )
719+ . expect ( "Unable to resolve listing address" ) ;
720+
715721 runtime. spawn ( async move {
716722 let listener =
717- tokio:: net:: TcpListener :: bind ( listening_address ) . await . expect (
723+ tokio:: net:: TcpListener :: bind ( bind_addr ) . await . expect (
718724 "Failed to bind to listen address/port - is something else already listening on it?" ,
719725 ) ;
720726 loop {
@@ -849,8 +855,8 @@ impl Node {
849855 }
850856
851857 /// Returns our own listening address.
852- pub fn listening_address ( & self ) -> Option < SocketAddr > {
853- self . config . listening_address
858+ pub fn listening_address ( & self ) -> Option < NetAddress > {
859+ self . config . listening_address . clone ( )
854860 }
855861
856862 /// Retrieve a new on-chain/funding address.
0 commit comments