@@ -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}
@@ -309,7 +309,7 @@ impl Builder {
309309 /// Sets the IP address and TCP port on which [`Node`] will listen for incoming network connections.
310310 ///
311311 /// Default: `0.0.0.0:9735`
312- pub fn set_listening_address ( & mut self , listening_address : SocketAddr ) -> & mut Self {
312+ pub fn set_listening_address ( & mut self , listening_address : NetAddress ) -> & mut Self {
313313 self . config . listening_address = Some ( listening_address) ;
314314 self
315315 }
@@ -816,9 +816,15 @@ impl Node {
816816 let stop_listen = Arc :: clone ( & stop_running) ;
817817 let listening_address = listening_address. clone ( ) ;
818818
819+ let bind_addr = listening_address
820+ . to_socket_addrs ( )
821+ . expect ( "Unable to resolve listing address" )
822+ . next ( )
823+ . expect ( "Unable to resolve listing address" ) ;
824+
819825 runtime. spawn ( async move {
820826 let listener =
821- tokio:: net:: TcpListener :: bind ( listening_address ) . await . expect (
827+ tokio:: net:: TcpListener :: bind ( bind_addr ) . await . expect (
822828 "Failed to bind to listen address/port - is something else already listening on it?" ,
823829 ) ;
824830 loop {
@@ -964,8 +970,8 @@ impl Node {
964970 }
965971
966972 /// Returns our own listening address.
967- pub fn listening_address ( & self ) -> Option < SocketAddr > {
968- self . config . listening_address
973+ pub fn listening_address ( & self ) -> Option < NetAddress > {
974+ self . config . listening_address . clone ( )
969975 }
970976
971977 /// Retrieve a new on-chain/funding address.
0 commit comments