Add ability to save/resume a simulation to a state file

This commit is contained in:
2021-06-14 21:04:08 -07:00
parent 3249ecd412
commit aa5d38b0fb
2 changed files with 22 additions and 3 deletions

View File

@@ -13,7 +13,7 @@ use imageproc::{pixelops, drawing};
use rayon::prelude::*;
use serde::{Serialize, Deserialize};
use std::fs::File;
use std::io::{BufWriter, Write as _};
use std::io::{BufReader, BufWriter, Write as _};
use std::path::PathBuf;
use std::sync::{Mutex, RwLock};
use y4m;
@@ -699,6 +699,11 @@ impl SerializerRenderer {
//serde_cbor::to_writer(out, &snap).unwrap();
bincode::serialize_into(out, &frame).unwrap();
}
pub fn try_load<S: GenericSim + for <'a> Deserialize<'a>>(&self) -> Option<SerializedFrame<S>> {
let mut reader = BufReader::new(File::open(&*self.fmt_str).ok()?);
bincode::deserialize_from(&mut reader).ok()
}
}
impl<S: GenericSim + Serialize> Renderer<S> for SerializerRenderer {