读书人

libevent0.1amp;0.2源码懂得(一)类型与

发布时间: 2012-08-22 09:50:35 作者: rapoo

libevent0.1&0.2源码理解(一)类型与变量
修改记录:
3-28 初稿
3-39 补充了全局变量说明,补充了0.2的内容

libevent是一个高性能的异步处理函数库。使用libevent库的著名软件有chromium、memcached、Tor等等。
网上libevent的中文文档不是很少,其中张亮写的libevent源码分析写得不错。但是当时的1.4版本篇幅还是过长,本文将浅析libevent的0.1及0.2版本,其中体现了libevent最基础的东西,希望能给诸位一个快速的印象。
还是请注意,现在的libevent2与之前的版本很不一样了。

基本类型
libevent最基础的数据类型是event

struct eventop *evsel;void *evbase;

event.c当中存在一个全局数组struct eventop *eventops[]用于指示系统当中有以下哪些网络处理函数可使用:kqueue, epoll, poll, select等等。
然后程序会选择一个传给evsel
evsel会调用初始化函数返回一个指向网络处理函数结构体的指针给evbase。

读书人网 >编程

热点推荐