@@ -152,7 +152,7 @@ use rand::Rng;
152152use std:: convert:: TryInto ;
153153use std:: default:: Default ;
154154use std:: fs;
155- use std:: net:: { SocketAddr , ToSocketAddrs } ;
155+ use std:: net:: ToSocketAddrs ;
156156use std:: str:: FromStr ;
157157use std:: sync:: atomic:: { AtomicBool , Ordering } ;
158158use std:: sync:: { Arc , Mutex , RwLock } ;
@@ -186,7 +186,7 @@ pub struct Config {
186186 /// The used Bitcoin network.
187187 pub network : Network ,
188188 /// The IP address and TCP port the node will listen on.
189- pub listening_address : Option < SocketAddr > ,
189+ pub listening_address : Option < NetAddress > ,
190190 /// The default CLTV expiry delta to be used for payments.
191191 pub default_cltv_expiry_delta : u32 ,
192192}
@@ -286,7 +286,7 @@ impl Builder {
286286 /// Sets the IP address and TCP port on which [`Node`] will listen for incoming network connections.
287287 ///
288288 /// Default: `0.0.0.0:9735`
289- pub fn set_listening_address ( & mut self , listening_address : SocketAddr ) -> & mut Self {
289+ pub fn set_listening_address ( & mut self , listening_address : NetAddress ) -> & mut Self {
290290 self . config . listening_address = Some ( listening_address) ;
291291 self
292292 }
@@ -713,9 +713,15 @@ impl Node {
713713 let stop_listen = Arc :: clone ( & stop_running) ;
714714 let listening_address = listening_address. clone ( ) ;
715715
716+ let bind_addr = listening_address
717+ . to_socket_addrs ( )
718+ . expect ( "Unable to resolve listing address" )
719+ . next ( )
720+ . expect ( "Unable to resolve listing address" ) ;
721+
716722 runtime. spawn ( async move {
717723 let listener =
718- tokio:: net:: TcpListener :: bind ( listening_address ) . await . expect (
724+ tokio:: net:: TcpListener :: bind ( bind_addr ) . await . expect (
719725 "Failed to bind to listen address/port - is something else already listening on it?" ,
720726 ) ;
721727 loop {
@@ -850,8 +856,8 @@ impl Node {
850856 }
851857
852858 /// Returns our own listening address.
853- pub fn listening_address ( & self ) -> Option < SocketAddr > {
854- self . config . listening_address
859+ pub fn listening_address ( & self ) -> Option < NetAddress > {
860+ self . config . listening_address . clone ( )
855861 }
856862
857863 /// Retrieve a new on-chain/funding address.
0 commit comments