Sese Framework
x.y.z
A cross-platform framework
|
时间轮 更多...
#include <TimeWheel.h>
Public 成员函数 | |
TimeWheel () | |
virtual | ~TimeWheel () |
TimeoutEvent * | delay (const TimeoutEvent::Callback &callback, int64_t seconds, bool repeat=false) |
void | cancel (TimeoutEvent *event) |
void | check () |
检查当前是否有需要触发的超时事件,有则触发对应的回调函数并根据需要销毁事件 | |
静态 Protected 成员函数 | |
static int64_t | getTimestamp () |
Protected 属性 | |
int64_t | startTime {} |
int64_t | lastCheckTime {} |
TimeoutEventSlot | slots [60] {} |
时间轮
TimeWheel::TimeWheel | ( | ) |
|
virtual |
引用了 slots.
void TimeWheel::cancel | ( | TimeoutEvent * | event | ) |
取消一个超时事件,事件将变得不可用
event | 超时事件 |
引用了 sese::TimeoutEventSlot::events, slots , 以及 startTime.
被这些函数引用 sese::_windows::iocp::v1::NativeIOCPServer::cancelTimeout(), sese::service::v2::TimerableService::cancelTimeoutEvent() , 以及 sese::_windows::iocp::v1::NativeIOCPServer::releaseContext().
void TimeWheel::check | ( | ) |
检查当前是否有需要触发的超时事件,有则触发对应的回调函数并根据需要销毁事件
引用了 EVENT, sese::TimeoutEventSlot::events, getTimestamp(), lastCheckTime, slots , 以及 startTime.
被这些函数引用 sese::_windows::iocp::v1::NativeIOCPServer::acceptThreadProc() , 以及 sese::service::v2::TimerableService::dispatch().
TimeoutEvent * TimeWheel::delay | ( | const TimeoutEvent::Callback & | callback, |
int64_t | seconds, | ||
bool | repeat = false ) |
添加一个超时事件
callback | 超时回调函数 |
seconds | 超时时间 |
repeat | 事件是否重复触发 |
引用了 callback(), sese::TimeoutEventSlot::events, getTimestamp(), sese::TimeoutEvent::range, slots , 以及 startTime.
被这些函数引用 sese::_windows::iocp::v1::NativeIOCPServer::setTimeout() , 以及 sese::service::v2::TimerableService::setTimeoutEvent().
|
staticprotected |
被这些函数引用 check(), delay() , 以及 TimeWheel().
|
protected |
被这些函数引用 check() , 以及 TimeWheel().
|
protected |
被这些函数引用 cancel(), check(), delay(), TimeWheel() , 以及 ~TimeWheel().
|
protected |
被这些函数引用 cancel(), check(), delay() , 以及 TimeWheel().