3 个不稳定版本
0.2.1 | 2020年4月14日 |
---|---|
0.2.0 | 2020年4月14日 |
0.1.0 | 2020年4月9日 |
1801 in Rust 模式
12KB
205 行
Ambience
Ambience 是一个轻量级库,用于传递环境参数。
示例
可以使用 ambience::thread::set
设置线程局部环境参数。然后可以通过 ambience::thread::get
访问环境参数,直到由 set
返回的保护对象被丢弃。
struct User {
// ...
}
fn process() {
// retrieve the user from this threads ambient environment
let user: Rc<User> = ambience::thread::get::<User>();
// ...
}
fn main() {
let user = // ...
// set the user as ambient data for the current thread.
// the value is accessible until `_ambience_guard` is dropped.
let _ambience_guard = ambience::thread::set::<User>(user);
process();
}
依赖
~305–770KB
~18K SLoC