@@ -152,7 +152,7 @@ use rand::Rng;
152
152
use std:: convert:: TryInto ;
153
153
use std:: default:: Default ;
154
154
use std:: fs;
155
- use std:: net:: { SocketAddr , ToSocketAddrs } ;
155
+ use std:: net:: ToSocketAddrs ;
156
156
use std:: str:: FromStr ;
157
157
use std:: sync:: atomic:: { AtomicBool , Ordering } ;
158
158
use std:: sync:: { Arc , Mutex , RwLock } ;
@@ -186,7 +186,7 @@ pub struct Config {
186
186
/// The used Bitcoin network.
187
187
pub network : Network ,
188
188
/// The IP address and TCP port the node will listen on.
189
- pub listening_address : Option < SocketAddr > ,
189
+ pub listening_address : Option < NetAddress > ,
190
190
/// The default CLTV expiry delta to be used for payments.
191
191
pub default_cltv_expiry_delta : u32 ,
192
192
}
@@ -286,7 +286,7 @@ impl Builder {
286
286
/// Sets the IP address and TCP port on which [`Node`] will listen for incoming network connections.
287
287
///
288
288
/// 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 {
290
290
self . config . listening_address = Some ( listening_address) ;
291
291
self
292
292
}
@@ -713,9 +713,15 @@ impl Node {
713
713
let stop_listen = Arc :: clone ( & stop_running) ;
714
714
let listening_address = listening_address. clone ( ) ;
715
715
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
+
716
722
runtime. spawn ( async move {
717
723
let listener =
718
- tokio:: net:: TcpListener :: bind ( listening_address ) . await . expect (
724
+ tokio:: net:: TcpListener :: bind ( bind_addr ) . await . expect (
719
725
"Failed to bind to listen address/port - is something else already listening on it?" ,
720
726
) ;
721
727
loop {
@@ -850,8 +856,8 @@ impl Node {
850
856
}
851
857
852
858
/// 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 ( )
855
861
}
856
862
857
863
/// Retrieve a new on-chain/funding address.
0 commit comments