可否libevent自定义事件tableView的上下滑事件

//ListView滑动小于10像素时表示点击事件滑动时不会触发点击事件

前面介绍了在添加事件时,具體是如何操作的呢事件操作主要是在evmap.c文件中,包含了io事件signal事件的操作。在事件操作时分两种情况,一种是利用hash表另外一种是不用hash表。

hash表结构主要是针对io事件时通过两个宏定义了hash表,及hash表相关的操作

其所使用的hash函数为用iofd来计算hash

iofd知道的情况下是如何来找到对應的事件的呢?如果没有找到又是做什么操作呢?实际上针对这两种情况,libevent中两个相对应的宏一个是直接查找,另一个是也是查找但是在没有找到的情况下,就将其插入hash表中分别为

对于信号事件,没有使用hash表使用的是动态数组,与信号相关的结构为

针对信号查找与io查找一样分为两种情况

3I/O添加、删除、激活操作

4signal的添加、删除、激活操作

Signal添加时只有当信号对应的事件队列为空时,才会调用evsel->add刪除时只有当signal对应的事件队列中只有一个事件时,才会调用evsel->del其具体实现为


写在前面:libevent优点:开源、精简、跨平台、专注网络;

一、常规事件的一般步骤:


 
 
 
 
 
 // 第二步:创建事件(常规事件)
 //第三步:将事件添加到base上
 
 //第四步:循环监听事件满足
 
 
 
 

 
 
 
 
 
 // 第二步:创建事件(常规事件)
 //第三步:将事件添加到base上
 
 //第四步:循环监听事件满足
 
 
 
 

我要回帖

更多关于 libevent自定义事件 的文章

 

随机推荐