
Libevent
文章平均质量分 85
slitaz
这个作者很懒,什么都没留下…
展开
-
创建Libevent库
Setting up the Libevent libraryLibevent有一些被整个进程共享的全局设置.这些设置会影响到整个库.在使用Libevent库的其余部分之前,你应该先对这些设置做些修改.否则的话Libevent可能会以一种前后矛盾的状态终止( If you don’t, Libevent could wind up in an inconsistent state).转载 2016-11-30 15:01:10 · 406 阅读 · 0 评论 -
Libevent源码分析(一):最小堆
Libevent中的timeout事件是使用最小堆来管理维护的.代码位于.看函数命名和代码风格应该是一个C++程序员,函数名都挺好懂的,只是下面这个结构体变量命名比较坑....typedef struct min_heap{ struct event** p; unsigned n, a;//n队列元素的多少,a代表队列空间的大小.} min_heap_t;转载 2016-11-30 15:03:03 · 620 阅读 · 0 评论 -
Libevent参考手册第三章:与事件循环一起工作
Libevent参考手册第三章:与事件循环一起工作1 运行循环一旦有了一个已经注册了某些事件的event_base(关于如何创建和注册事件请看下一节),就需要让libevent等待事件并且通知事件的发生。接口#define EVLOOP_ONCE 0x01#define EVLOOP_NONBLOCK 0x02 int event_base_loop(s转载 2016-11-30 15:18:03 · 289 阅读 · 0 评论 -
libevent参考手册第四章:与事件一起工作
libevent的基本操作单元是事件。每个事件代表一组条件的集合,这些条件包括:l 文件描述符已经就绪,可以读取或者写入l 文件描述符变为就绪状态,可以读取或者写入(仅对于边沿触发IO)l 超时事件l 发生某信号l 用户触发事件所有事件具有相似的生命周期。调用libevent函数设置事件并且关联到event_base之后,事件进入“已初始化(initialized转载 2016-11-30 15:19:29 · 263 阅读 · 0 评论 -
libevent参考手册第五章:辅助类型和函数
定义了很多在实现可移植应用时有用的函数,libevent内部也使用这些类型和函数。1 基本类型1.1 evutil_socket_t在除Windows之外的大多数地方,套接字是个整数,操作系统按照数值次序进行处理。然而,使用Windows套接字API时,socket具有类型SOCKET,它实际上是个类似指针的句柄,收到这个句柄的次序是未定义的。在Windows中,libevent定义e转载 2016-11-30 15:20:11 · 265 阅读 · 0 评论 -
libevent参考手册第六章:bufferevent:概念和入门
很多时候,除了响应事件之外,应用还希望做一定的数据缓冲。比如说,写入数据的时候,通常的运行模式是:l 决定要向连接写入一些数据,把数据放入到缓冲区中。l 等待连接可以写入。l 写入尽量多的数据。l 记住写入了多少数据,如果还有更多数据要写入,等待连接再次可以写入。这种缓冲IO模式很通用,libevent为此提供了一种通用机制,即bufferevent。buffereve转载 2016-11-30 15:20:58 · 420 阅读 · 0 评论 -
Libevent参考手册第八章:连接侦听器: 接受 TCP 连接
Evconnlistener 机制为您提供了侦听和接受传入的 TCP 连接的方法。这一节中的所有函数与类型都是在event2/listener.h中声明。他们首次出现在 Libevent 2.0.2-alpha,除非另有说明。创建或释放 evconnlistener接口struct evconnlistener *evconnlistener_new(struct even转载 2016-11-30 15:22:46 · 627 阅读 · 0 评论