#sequence #seq #store #increment #system #file-sequence #fail-safe

file-seq

使用文件系统作为存储的容错文件序列

4 个版本

0.2.0 2020 年 9 月 7 日
0.1.3 2020 年 5 月 24 日
0.1.2 2020 年 5 月 24 日
0.1.1 2020 年 5 月 24 日

#930 in 文件系统

MIT 许可证

11KB
157

容错文件序列

用 Rust 实现,灵感来自这个 Java 实现

Crates.io GitHub Workflow Status

用法

let initial_value = 1;
let seq = FileSeq::new(store_dir, initial_value).unwrap();

// Get current value
seq.value().unwrap();

// Increment by 1 and get
seq.increment_and_get(1).unwrap();

// Get, then increment by 1
seq.get_and_increment(1).unwrap();

变更日志

0.2.0 (2020-09-07)

  • FileSeq::delete 函数中忽略错误 #1

lib.rs:

容错文件序列

通过版本化序列的值,并丢弃所有版本,但当前和上一个版本。

灵感来自 这个 Java 实现

用法

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());

依赖关系

~88KB