1 个不稳定版本

0.1.0 2019年7月28日

#1074文件系统

MIT/Apache

12KB
222

efuse

Build Status crates.io LoC Documentation

A Rust 库,用于软件 熔断器

该库提供了类似布尔类型的类型,其行为类似于软件熔断器:它们可以被“ Zap”一次,之后它们将永久保持在切换状态。它支持具有自定义初始布尔状态的熔断器以及原子熔断器。

示例

let initial_state = true;
let mut fuse = efuse::Fuse::new(initial_state);
assert_eq!(fuse.as_bool(), true);

fuse.zap();
assert_eq!(fuse.is_zapped(), true);
assert_eq!(fuse.as_bool(), false);

fuse.zap();
assert_eq!(fuse.as_bool(), false);

let already_zapped = fuse.zap_once();
assert!(already_zapped.is_err());

许可证

许可协议为以下之一

任选其一。

无运行时依赖