diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2025-10-21 22:35:30 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2025-10-21 22:48:29 +0800 |
| commit | 715b77323d22044bf4dd75dfd069edd7198a7036 (patch) | |
| tree | a70e2c74fa3a9132a8db5f635d3f41f2f06cb3f1 | |
| parent | db71798db2ba7ede27f2ad7f2428cffbf8f1e98c (diff) | |
refactor(network): direct write function, which broadcast uses now
feat(cmd): fetch to refresh idb
| -rw-r--r-- | src/network.rs | 27 | ||||
| -rw-r--r-- | src/ui.rs | 9 |
2 files changed, 26 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 { @@ -76,6 +76,15 @@ impl Ui { } } + if cmd[0] == "fetch" { + self.network + .upgrade() + .unwrap() + .lock() + .await + .get_idb(); + } + None } } |
