diff options
| -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 } } |
