CBlueUI  
C++ 跨平台跨框架的数据可视化工具
载入中...
搜索中...
未找到
CTimerWheel.h 文件参考

struct  timerwheel
 
class  CTimerWheel
 定时器,以时间轮方式实现 更多...
 
class  CTimerTask
 定时任务对象,可以自动管理定时器的生命周期。对象析构时,自动释放 更多...
 

宏定义

#define container_of(ptr, type, member)   ((type*)((char*)(ptr) - (UINT_PTR)(&((type*)0)->member)))
 
#define TVR_BITS   8
 
#define TVR_SIZE   (1 << TVR_BITS)
 
#define TVN_BITS   6
 
#define TVN_SIZE   (1 << TVN_BITS)
 
#define TVR_MASK   (TVR_SIZE - 1)
 
#define TVN_MASK   (TVN_SIZE - 1)
 
#define ALOOC_SIZE   256
 

类型定义

typedef std::function< void()> timer_cb_t
 
typedef struct timer_handler timer_handler_t
 
typedef struct clinknode clinknode_t
 
typedef struct timernode timernode_t
 
typedef struct tvroot tvroot_t
 
typedef struct tvnum tvnum_t
 
typedef struct blockitem blockitem_t
 
typedef struct block block_t
 
typedef struct timerwheel timerwheel_t
 

函数

void timerwheel_init (timerwheel_t *tw, uint16_t interval, uint64_t currtime)
 
void timerwheel_node_init (timernode_t *node, timer_cb_t cb, void *ud)
 
void timerwheel_add (timerwheel_t *tw, timernode_t *node, uint32_t ticks, uint32_t delay_ticks)
 
int timerwheel_del (timerwheel_t *tw, timernode_t *node)
 
void timerwheel_update (timerwheel_t *tw, uint64_t currtime)
 
UI_EXP void InstallTimerManager (CTimerWheel *timerMgr)
 
UI_EXP CTimerWheelTimerManager ()
 

宏定义说明

◆ ALOOC_SIZE

#define ALOOC_SIZE   256

◆ container_of

#define container_of (   ptr,
  type,
  member 
)    ((type*)((char*)(ptr) - (UINT_PTR)(&((type*)0)->member)))

◆ TVN_BITS

#define TVN_BITS   6

◆ TVN_MASK

#define TVN_MASK   (TVN_SIZE - 1)

◆ TVN_SIZE

#define TVN_SIZE   (1 << TVN_BITS)

◆ TVR_BITS

#define TVR_BITS   8

◆ TVR_MASK

#define TVR_MASK   (TVR_SIZE - 1)

◆ TVR_SIZE

#define TVR_SIZE   (1 << TVR_BITS)

类型定义说明

◆ block_t

typedef struct block block_t

◆ blockitem_t

typedef struct blockitem blockitem_t

◆ clinknode_t

typedef struct clinknode clinknode_t

◆ timer_cb_t

typedef std::function<void()> timer_cb_t

定时器模块

◆ timer_handler_t

typedef struct timer_handler timer_handler_t

◆ timernode_t

typedef struct timernode timernode_t

◆ timerwheel_t

typedef struct timerwheel timerwheel_t

◆ tvnum_t

typedef struct tvnum tvnum_t

◆ tvroot_t

typedef struct tvroot tvroot_t

函数说明

◆ InstallTimerManager()

UI_EXP void InstallTimerManager ( CTimerWheel timerMgr)

◆ TimerManager()

UI_EXP CTimerWheel * TimerManager ( )

◆ timerwheel_add()

void timerwheel_add ( timerwheel_t tw,
timernode_t node,
uint32_t  ticks,
uint32_t  delay_ticks 
)

◆ timerwheel_del()

int timerwheel_del ( timerwheel_t tw,
timernode_t node 
)

◆ timerwheel_init()

void timerwheel_init ( timerwheel_t tw,
uint16_t  interval,
uint64_t  currtime 
)

◆ timerwheel_node_init()

void timerwheel_node_init ( timernode_t node,
timer_cb_t  cb,
void *  ud 
)

◆ timerwheel_update()

void timerwheel_update ( timerwheel_t tw,
uint64_t  currtime 
)
鄂公网安备42018502007752 鄂ICP备2024082886
Copyright © 2025 · CBlueStudio 版权所有