diff options
author | metamuffin <metamuffin@disroot.org> | 2022-10-15 12:47:31 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2022-10-15 12:47:31 +0200 |
commit | 05df2017e970b049546c893f8564d112c89c5b40 (patch) | |
tree | 926375065645be690d3e0bb9a187c4c93b8e50fa /client-native-rift/src | |
parent | 77f6b0d44c2d653cfcdb511a9f91f11aab81ddc5 (diff) | |
download | keks-meet-05df2017e970b049546c893f8564d112c89c5b40.tar keks-meet-05df2017e970b049546c893f8564d112c89c5b40.tar.bz2 keks-meet-05df2017e970b049546c893f8564d112c89c5b40.tar.zst |
fix crash
Diffstat (limited to 'client-native-rift/src')
-rw-r--r-- | client-native-rift/src/main.rs | 9 |
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 |