summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/network.rs27
-rw-r--r--src/ui.rs9
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 {
diff --git a/src/ui.rs b/src/ui.rs
index a6a1cd6..df181f5 100644
--- a/src/ui.rs
+++ b/src/ui.rs
@@ -76,6 +76,15 @@ impl Ui {
}
}
+ if cmd[0] == "fetch" {
+ self.network
+ .upgrade()
+ .unwrap()
+ .lock()
+ .await
+ .get_idb();
+ }
+
None
}
}