Sese Framework  x.y.z
A cross-platform framework
载入中...
搜索中...
未找到
sese::TimeWheel类 参考

时间轮 更多...

#include <TimeWheel.h>

Public 成员函数

 TimeWheel ()
 
virtual ~TimeWheel ()
 
TimeoutEventdelay (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()

TimeWheel::~TimeWheel ( )
virtual

引用了 slots.

成员函数说明

◆ cancel()

void TimeWheel::cancel ( TimeoutEvent * event)

◆ check()

void TimeWheel::check ( )

检查当前是否有需要触发的超时事件,有则触发对应的回调函数并根据需要销毁事件

引用了 EVENT, sese::TimeoutEventSlot::events, getTimestamp(), lastCheckTime, slots , 以及 startTime.

被这些函数引用 sese::_windows::iocp::v1::NativeIOCPServer::acceptThreadProc() , 以及 sese::service::v2::TimerableService::dispatch().

◆ delay()

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().

◆ getTimestamp()

int64_t TimeWheel::getTimestamp ( )
staticprotected

被这些函数引用 check(), delay() , 以及 TimeWheel().

类成员变量说明

◆ lastCheckTime

int64_t sese::TimeWheel::lastCheckTime {}
protected

被这些函数引用 check() , 以及 TimeWheel().

◆ slots

TimeoutEventSlot sese::TimeWheel::slots[60] {}
protected

被这些函数引用 cancel(), check(), delay(), TimeWheel() , 以及 ~TimeWheel().

◆ startTime

int64_t sese::TimeWheel::startTime {}
protected

被这些函数引用 cancel(), check(), delay() , 以及 TimeWheel().


该类的文档由以下文件生成: