Fix inbound connections by using tokio net instead of std
[ldk-sample] / src / main.rs
index 7f4b5bf4a3b2e72b79983b26ca3124a6eaed95d5..bf0e24e9051ed6e8d75568f589d0da9fbd3f5570 100644 (file)
@@ -292,13 +292,17 @@ async fn start_ldk() {
 
        // Check that the bitcoind we've connected to is running the network we expect
        let bitcoind_chain = bitcoind_client.get_blockchain_info().await.chain;
-       if bitcoind_chain != match args.network {
-               bitcoin::Network::Bitcoin => "main",
-               bitcoin::Network::Testnet => "test",
-               bitcoin::Network::Regtest => "regtest",
-               bitcoin::Network::Signet => "signet",
-       } {
-               println!("Chain argument ({}) didn't match bitcoind chain ({})", args.network, bitcoind_chain);
+       if bitcoind_chain
+               != match args.network {
+                       bitcoin::Network::Bitcoin => "main",
+                       bitcoin::Network::Testnet => "test",
+                       bitcoin::Network::Regtest => "regtest",
+                       bitcoin::Network::Signet => "signet",
+               } {
+               println!(
+                       "Chain argument ({}) didn't match bitcoind chain ({})",
+                       args.network, bitcoind_chain
+               );
                return;
        }
 
@@ -478,13 +482,13 @@ async fn start_ldk() {
        let event_notifier = event_ntfn_sender.clone();
        let listening_port = args.ldk_peer_listening_port;
        tokio::spawn(async move {
-               let listener = std::net::TcpListener::bind(format!("0.0.0.0:{}", listening_port)).unwrap();
+               let listener = tokio::net::TcpListener::bind(format!("0.0.0.0:{}", listening_port)).await.unwrap();
                loop {
                        let peer_mgr = peer_manager_connection_handler.clone();
                        let notifier = event_notifier.clone();
-                       let tcp_stream = listener.accept().unwrap().0;
+                       let tcp_stream = listener.accept().await.unwrap().0;
                        tokio::spawn(async move {
-                               lightning_net_tokio::setup_inbound(peer_mgr.clone(), notifier.clone(), tcp_stream)
+                               lightning_net_tokio::setup_inbound(peer_mgr.clone(), notifier.clone(), tcp_stream.into_std().unwrap())
                                        .await;
                        });
                }