summaryrefslogtreecommitdiff
path: root/src/network.rs
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2025-10-21 22:35:30 +0800
committerlittleblack111 <littleblack11111@gmail.com>2025-10-21 22:48:29 +0800
commit715b77323d22044bf4dd75dfd069edd7198a7036 (patch)
treea70e2c74fa3a9132a8db5f635d3f41f2f06cb3f1 /src/network.rs
parentdb71798db2ba7ede27f2ad7f2428cffbf8f1e98c (diff)
refactor(network): direct write function, which broadcast uses now
feat(cmd): fetch to refresh idb
Diffstat (limited to 'src/network.rs')
-rw-r--r--src/network.rs27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/network.rs b/src/network.rs
index 72f47e7..1a08053 100644
--- a/src/network.rs
+++ b/src/network.rs
@@ -160,20 +160,27 @@ impl Network {
.clone()
};
for p in peers {
- let sink = {
- let peer = p
- .lock()
- .await;
- Arc::clone(&peer.sink)
- };
- let mut sink = sink
+ p.lock()
+ .await
+ .sink
.lock()
- .await;
- let _ = sink
+ .await
.send(data.clone())
- .await;
+ .await
+ .unwrap();
}
}
+
+ async fn write(peer: &mut Peer, data: Request) -> Result<(), std::io::Error> {
+ let sink = peer
+ .sink
+ .clone();
+ let mut sink = sink
+ .lock()
+ .await;
+ sink.send(data.clone())
+ .await
+ }
}
struct Peer {