summaryrefslogtreecommitdiff
path: root/server/replaytool/src
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-07-11 00:11:27 +0200
committermetamuffin <metamuffin@disroot.org>2024-07-11 00:11:27 +0200
commita16fd3bca9e3d74916bcc473147e5f7dd4bb3040 (patch)
treed4778c098cc6d5d8a67549b4d433d8971b978d5c /server/replaytool/src
parentc4c216592bfd2f137373b278f1c25d00753ef986 (diff)
downloadhurrycurry-a16fd3bca9e3d74916bcc473147e5f7dd4bb3040.tar
hurrycurry-a16fd3bca9e3d74916bcc473147e5f7dd4bb3040.tar.bz2
hurrycurry-a16fd3bca9e3d74916bcc473147e5f7dd4bb3040.tar.zst
(overly) properly flush zstd in replaytool
Diffstat (limited to 'server/replaytool/src')
-rw-r--r--server/replaytool/src/main.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/server/replaytool/src/main.rs b/server/replaytool/src/main.rs
index 527c5abf..e8dae5ef 100644
--- a/server/replaytool/src/main.rs
+++ b/server/replaytool/src/main.rs
@@ -68,7 +68,7 @@ async fn main() -> anyhow::Result<()> {
output,
r#loop,
} => loop {
- let mut file = BufWriter::new(ZstdEncoder::new(
+ let mut file = BufWriter::new(ZstdEncoder::new(BufWriter::new(
File::create(&if r#loop {
output.join(format!(
"replay-{}",
@@ -81,7 +81,7 @@ async fn main() -> anyhow::Result<()> {
output.clone()
})
.await?,
- ));
+ )));
info!("connecting to {url:?}...");
let (mut sock, _) = tokio_tungstenite::connect_async(&url).await?;
info!("starting recording.");
@@ -123,7 +123,13 @@ async fn main() -> anyhow::Result<()> {
_ => (),
}
}
- drop(file);
+ file.flush().await?;
+ let mut file = file.into_inner();
+ file.flush().await?;
+ let mut file = file.into_inner();
+ file.flush().await?;
+ let mut file = file.into_inner();
+ file.flush().await?;
info!("done");
if r#loop {
info!("restarting...");