skynet源码分析:timer
skynet中提供了一个简单的计时器实现,可以设置一个超时时间,时间到达后给对应的服务发送消息。
skynet中没有使用signal信号的方式来实现计时器,而是程序自身进行计时并处理计时器事件。另外,skynet中将时间由近及远划分为五个level,在时间复杂度和空间复杂度上达到了平衡。
初始化计时器
void skynet_timer_init(void);
设置超时时间及相应的回调消息
int skynet_timeout(uint32_t handle, int time, int session);
程序更新时间并触发相应计时器事件
void skynet_updatetime(void);