Expand description
Fail-safe file sequence
Works by versioning values of sequences and throwing away all versions, but the current and the previous one.
Inspired by this Java implementation
§Usage
use file_seq::FileSeq;
use std::path::Path;
let dir = Path::new("/tmp/example");
let initial_value = 1;
let seq = FileSeq::new(&dir, initial_value).unwrap();
// Get current value
assert_eq!(initial_value, seq.value().unwrap());
// Increment and get
assert_eq!(initial_value + 1, seq.increment_and_get(1).unwrap());
// Get and then increment
assert_eq!(initial_value + 1, seq.get_and_increment(1).unwrap());
assert_eq!(initial_value + 2, seq.value().unwrap());