@@ -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
}
@@ -309,7 +309,7 @@ impl Builder {
309
309
/// Sets the IP address and TCP port on which [`Node`] will listen for incoming network connections.
310
310
///
311
311
/// 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 {
313
313
self . config . listening_address = Some ( listening_address) ;
314
314
self
315
315
}
@@ -816,9 +816,15 @@ impl Node {
816
816
let stop_listen = Arc :: clone ( & stop_running) ;
817
817
let listening_address = listening_address. clone ( ) ;
818
818
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
+
819
825
runtime. spawn ( async move {
820
826
let listener =
821
- tokio:: net:: TcpListener :: bind ( listening_address ) . await . expect (
827
+ tokio:: net:: TcpListener :: bind ( bind_addr ) . await . expect (
822
828
"Failed to bind to listen address/port - is something else already listening on it?" ,
823
829
) ;
824
830
loop {
@@ -953,8 +959,8 @@ impl Node {
953
959
}
954
960
955
961
/// Returns our own listening address.
956
- pub fn listening_address ( & self ) -> Option < SocketAddr > {
957
- self . config . listening_address
962
+ pub fn listening_address ( & self ) -> Option < NetAddress > {
963
+ self . config . listening_address . clone ( )
958
964
}
959
965
960
966
/// Retrieve a new on-chain/funding address.
0 commit comments