2 个版本
0.1.1 | 2021 年 8 月 8 日 |
---|---|
0.1.0 | 2021 年 8 月 1 日 |
#47 在 #delay
18KB
418 行
HashedWheelTimer
Rust 对 Netty HashedWheelTimer 的实现。
警告:这是一个测试产品。请勿在生产部署中使用。
构建要求
您只需要 Rust 编译器的稳定版本。
如何使用库
在您的 Cargo.toml
中添加以下内容
[dependencies]
hashed_wheel_timer = "0.1.1"
示例
以下代码段将字节字符串写入 STDOUT
use hashed_wheel_timer::{TimerTask, WheelTimer};
use std::thread;
use std::time::Duration;
struct ReaderIdleTimeoutTask {
value: u64,
}
impl ReaderIdleTimeoutTask {
fn new(value: u64) -> ReaderIdleTimeoutTask {
ReaderIdleTimeoutTask { value }
}
}
impl TimerTask for ReaderIdleTimeoutTask {
fn run(&mut self) {
println!("ReaderIdleTimeoutTask expire, value {}", self.value)
}
}
fn main() {
let mut timer = WheelTimer::new(500, 10).unwrap();
let task = Box::new(ReaderIdleTimeoutTask::new(100));
timer.new_timeout(task, Duration::new(1, 0));
thread::sleep(Duration::new(5, 0))
}