use fsys::builder;
fn main() -> fsys::Result<()> {
let fs = builder().build()?;
let dir = std::env::temp_dir();
let p = |n: usize| dir.join(format!("fsys_example_batch_{n}.txt"));
let paths: Vec<_> = (0..6).map(p).collect();
let payloads: Vec<Vec<u8>> = (0..6)
.map(|n| format!("file number {n}").into_bytes())
.collect();
let writes: Vec<(&std::path::PathBuf, &[u8])> = paths
.iter()
.zip(payloads.iter())
.map(|(path, data)| (path, data.as_slice()))
.collect();
if let Err(e) = fs.write_batch(&writes) {
eprintln!(
"batch failed at op {}, completed={}",
e.failed_at(),
e.completed()
);
return Err(*e.into_inner());
}
println!("wrote {} files in one batch", writes.len());
if let Err(e) = fs.delete_batch(&paths) {
return Err(*e.into_inner());
}
println!("deleted {} files in one batch", paths.len());
Ok(())
}