use fsys::builder;
fn main() -> fsys::Result<()> {
let fs = builder().build()?;
let dir = std::env::temp_dir();
fs.write(dir.join("fsys_stale.txt"), b"about to be deleted")?;
let mut batch = fs.batch();
batch
.write(dir.join("fsys_chain_a.txt"), b"alpha")
.write(dir.join("fsys_chain_b.txt"), b"beta")
.write(dir.join("fsys_chain_c.txt"), b"gamma")
.delete(dir.join("fsys_stale.txt"));
println!("queued {} ops", batch.len());
if let Err(e) = batch.commit() {
return Err(*e.into_inner());
}
println!("commit succeeded");
for n in ["a", "b", "c"] {
let _ = std::fs::remove_file(dir.join(format!("fsys_chain_{n}.txt")));
}
Ok(())
}