aboutsummaryrefslogtreecommitdiff
path: root/client-native-rift/src
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2022-12-27 16:20:36 +0100
committermetamuffin <metamuffin@disroot.org>2022-12-27 16:20:36 +0100
commit67694f908f7fc76f78566e6f02d89db2d7a19c1d (patch)
tree15e740b806144616e17d70dd0a53becb3c17c237 /client-native-rift/src
parentc2e6a4f002be8a687038e3d2cff836d43275617f (diff)
downloadkeks-meet-67694f908f7fc76f78566e6f02d89db2d7a19c1d.tar
keks-meet-67694f908f7fc76f78566e6f02d89db2d7a19c1d.tar.bz2
keks-meet-67694f908f7fc76f78566e6f02d89db2d7a19c1d.tar.zst
rift: handle control messages
Diffstat (limited to 'client-native-rift/src')
-rw-r--r--client-native-rift/src/main.rs38
1 files changed, 23 insertions, 15 deletions
diff --git a/client-native-rift/src/main.rs b/client-native-rift/src/main.rs
index 5d0c7d6..45f720a 100644
--- a/client-native-rift/src/main.rs
+++ b/client-native-rift/src/main.rs
@@ -192,21 +192,29 @@ impl EventHandler for Handler {
let writer = writer.clone();
let pos = pos.clone();
Box::pin(async move {
- let pos = pos.fetch_add(mesg.data.len(), Ordering::Relaxed);
- info!(
- "recv {:?} ({} of {})",
- mesg.data.len(),
- humansize::format_size(pos, DECIMAL),
- humansize::format_size(resource.size.unwrap_or(0), DECIMAL),
- );
- writer
- .write()
- .await
- .as_mut()
- .unwrap()
- .write_all(&mesg.data)
- .await
- .unwrap();
+ // TODO
+ if mesg.is_string {
+ let s = String::from_utf8((&mesg.data).to_vec()).unwrap();
+ if &s == "end" {
+ info!("EOF reached")
+ }
+ } else {
+ let pos = pos.fetch_add(mesg.data.len(), Ordering::Relaxed);
+ info!(
+ "recv {:?} ({} of {})",
+ mesg.data.len(),
+ humansize::format_size(pos, DECIMAL),
+ humansize::format_size(resource.size.unwrap_or(0), DECIMAL),
+ );
+ writer
+ .write()
+ .await
+ .as_mut()
+ .unwrap()
+ .write_all(&mesg.data)
+ .await
+ .unwrap();
+ }
})
})
}