From 4b8f5cd9b32da34f05083eac827656fd0f58f253 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Wed, 22 Oct 2025 00:47:03 +0800 Subject: refactor: less complicated types for async --- src/ui.rs | 67 ++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 32 insertions(+), 35 deletions(-) (limited to 'src/ui.rs') diff --git a/src/ui.rs b/src/ui.rs index 6dadf39..f0dc72e 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -1,7 +1,6 @@ -use std::sync::{Arc, Weak}; +use std::sync::Weak; use bitcoin::{ - blocks::BlockChain, client::Client, network::{Network, Request}, transaction::Transaction, @@ -38,50 +37,49 @@ impl Ui { .parse() .unwrap(), ); - return Some(Request::Block( - self.network - .upgrade() - .unwrap() - .lock() - .await - .get_blockchain() - .lock() - .await - .new_block(trans), - )); + let net = self + .network + .upgrade() + .unwrap(); + let block = Network::new_block(net, trans).await; + return Some(Request::Block(block)); } if cmd[0] == "bc" { - println!( - "{:#?}", - self.network - .upgrade() - .unwrap() - .lock() + let net = self + .network + .upgrade() + .unwrap(); + let bc = { + net.lock() .await .get_blockchain() - .lock() + .clone() + }; + println!( + "{:#?}", + bc.lock() .await ); } if cmd[0] == "peer" { if cmd[1] == "add" { - Network::try_peer( - self.network - .clone(), - cmd[2], - ) - .await; + let net = self + .network + .upgrade() + .unwrap(); + Network::try_peer(net, cmd[2]).await; } if cmd[1] == "list" { + let net = self + .network + .upgrade() + .unwrap(); println!( "{:#?}", - self.network - .upgrade() - .unwrap() - .lock() + net.lock() .await .peers ); @@ -89,12 +87,11 @@ impl Ui { } if cmd[0] == "fetch" { - self.network + let net = self + .network .upgrade() - .unwrap() - .lock() - .await - .get_idb(); + .unwrap(); + Network::get_idb(net); } None -- cgit v1.2.3