TimerCallback

Trait TimerCallback 

Source
pub trait TimerCallback:
    Send
    + Sync
    + 'static {
    // Required method
    fn call(&self) -> Pin<Box<dyn Future<Output = ()> + Send>>;
}
Expand description

定时器回调 trait

实现此 trait 的类型可以作为定时器的回调函数使用。

§示例

use kestrel_protocol_timer::TimerCallback;
use std::future::Future;
use std::pin::Pin;
 
struct MyCallback;
 
impl TimerCallback for MyCallback {
    fn call(&self) -> Pin<Box<dyn Future<Output = ()> + Send>> {
        Box::pin(async {
            println!("Timer callback executed!");
        })
    }
}

Required Methods§

Source

fn call(&self) -> Pin<Box<dyn Future<Output = ()> + Send>>

执行回调,返回一个 Future

Implementors§

Source§

impl<F, Fut> TimerCallback for F
where F: Fn() -> Fut + Send + Sync + 'static, Fut: Future<Output = ()> + Send + 'static,

为闭包实现 TimerCallback trait 支持 Fn() -> Future 类型的闭包(可以多次调用,适合周期性任务)