2 个版本
0.1.1 | 2019年12月16日 |
---|---|
0.1.0 | 2019年12月16日 |
#41 in #guard
31 每月下载量
9KB
189 行
💂♂️ Beefeater
任何实现了 Copy 特质的类型的泛型保护。
使用方法
在您的 Cargo.toml
中添加依赖项
[dependencies]
beefeater = "0.1"
添加使用声明以导入 crate
use beefeater::Beefeater;
最后,使用 💂♂️ Beefeater 来保护访问
#[derive(Clone, Copy)]
enum State {
Playing,
Stopped,
}
fn main() {
let state = Arc::new(Beefeater::new(State::Playing));
{
let state = state.clone();
ctrlc::set_handler(move || {
println!("Recevied SIGINT, stopping playback");
state.store(State::Stopped);
}).unwrap();
}
loop {
match state.load() {
State::Playing => {
// Feed next chunk
}
State::Stopped => {
break;
}
}
}
}
lib.rs
:
任何实现了 Copy 特质的类型的泛型保护