summaryrefslogtreecommitdiff
path: root/client-native-rift
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2022-10-15 12:47:31 +0200
committermetamuffin <metamuffin@disroot.org>2022-10-15 12:47:31 +0200
commit05df2017e970b049546c893f8564d112c89c5b40 (patch)
tree926375065645be690d3e0bb9a187c4c93b8e50fa /client-native-rift
parent77f6b0d44c2d653cfcdb511a9f91f11aab81ddc5 (diff)
downloadkeks-meet-05df2017e970b049546c893f8564d112c89c5b40.tar
keks-meet-05df2017e970b049546c893f8564d112c89c5b40.tar.bz2
keks-meet-05df2017e970b049546c893f8564d112c89c5b40.tar.zst
fix crash
Diffstat (limited to 'client-native-rift')
-rw-r--r--client-native-rift/src/main.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/client-native-rift/src/main.rs b/client-native-rift/src/main.rs
index 48dac0b..e00d4c9 100644
--- a/client-native-rift/src/main.rs
+++ b/client-native-rift/src/main.rs
@@ -259,6 +259,7 @@ impl LocalResource for FileSender {
fn on_request(&self, peer: Arc<Peer>) -> DynFut<()> {
let id = self.info().id.clone();
+ let total_size = self.info().size.unwrap_or(0);
let reader_factory = self.reader_factory.clone();
Box::pin(async move {
let channel = peer
@@ -299,6 +300,7 @@ impl LocalResource for FileSender {
let channel2 = channel.clone();
channel
.on_buffered_amount_low(box move || {
+ let pos = pos.clone();
let reader = reader.clone();
let channel = channel2.clone();
Box::pin(async move {
@@ -316,7 +318,12 @@ impl LocalResource for FileSender {
info!("reached EOF, closing channel");
channel.close().await.unwrap();
} else {
- debug!("sending {size} bytes");
+ let progress_size = pos.fetch_add(size, Ordering::Relaxed);
+ info!(
+ "sending {size} bytes ({} of {})",
+ humansize::format_size(progress_size, DECIMAL),
+ humansize::format_size(total_size, DECIMAL),
+ );
channel
.send(&Bytes::copy_from_slice(&buf[..size]))
.await