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