基于升序链表的定时器实现
网络程序需要处理的第三类事件时定时器事件,比如定期检测一个客户连接的活动状态。一般要将每个定时事件分别封装成定时器,并使用某种容器类数据结构,比如链表,排列链表和时间轮,将所有定时器串联起来,以实现对定时事件的统一管理。
下面实现一个简单的升序定时器链表。升序定时器链表将其中的定时器按照超时时间做升序排序。
代码如下:
#ifndef LST_TIMER
#define LST_TIMER
#include <time.h>
#define BUFFER_SIZE 64
class util_timer;//前向声明
struct client_data
{
sockaddr_in address;
int