#timer #delay #netty

bin+lib hashed_wheel_timer

Rust 对 Netty HashedWheelTimer 的实现

2 个版本

0.1.1 2021 年 8 月 8 日
0.1.0 2021 年 8 月 1 日

#47#delay

MIT/Apache

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))
}

无运行时依赖