libevent
gaoyi445
源码面前,了无秘密
展开
-
Libevent参考手册:前言
翻译自:http://www.wangafu.net/~nickm/libevent-book/Ref0_meta.html转自:http://blog.sina.com.cn/s/blog_56dee71a0100q7j6.html1 从一万英尺外看LibeventLibevent是用于编写高速可移植非阻塞IO应用的库,其设计目标是:v 可移植性:使用libevent编写的程序应该可以在lib...转载 2018-05-30 21:50:53 · 304 阅读 · 0 评论 -
Libevent参考手册:连接监听器:接受TCP连接
译自http://www.wangafu.net/~nickm/libevent-book/Ref8_listener.htmlevconnlistener机制提供了监听和接受TCP连接的方法。本章的所有函数和类型都在event2/listener.h中声明,除非特别说明,它们都在2.0.2-alpha版本中首次出现。1 创建和释放evconnlistener接口两个evconnlistener_...转载 2018-05-31 10:00:28 · 403 阅读 · 0 评论 -
Libevent参考手册:evbuffer:缓冲IO实用功能
译自http://www.wangafu.net/~nickm/libevent-book/Ref7_evbuffer.htmllibevent的evbuffer实现了为向后面添加数据和从前面移除数据而优化的字节队列。evbuffer用于处理缓冲网络IO的“缓冲”部分。它不提供调度IO或者当IO就绪时触发IO的功能:这是bufferevent的工作。除非特别说明,本章描述的函数都在event2/b...转载 2018-05-30 22:04:36 · 511 阅读 · 0 评论 -
Libevent参考手册:evbuffer:缓冲IO实用功能
译自http://www.wangafu.net/~nickm/libevent-book/Ref7_evbuffer.htmllibevent的evbuffer实现了为向后面添加数据和从前面移除数据而优化的字节队列。evbuffer用于处理缓冲网络IO的“缓冲”部分。它不提供调度IO或者当IO就绪时触发IO的功能:这是bufferevent的工作。除非特别说明,本章描述的函数都在event2/b...转载 2018-05-30 22:03:21 · 609 阅读 · 0 评论 -
Libevent参考手册:Bufferevent:高级话题
译自http://www.wangafu.net/~nickm/libevent-book/Ref6a_advanced_bufferevents.html 本章描述bufferevent的一些对通常使用不必要的高级特征。如果只想学习如何使用bufferevent,可以跳过这一章,直接阅读下一章。1 成对的bufferevent有时候网络程序需要与自身通信。比如说,通过某些协议对用户连接进行隧道操...转载 2018-05-30 22:02:16 · 324 阅读 · 0 评论 -
libevent参考手册第六章:bufferevent:概念和入门
很多时候,除了响应事件之外,应用还希望做一定的数据缓冲。比如说,写入数据的时候,通常的运行模式是:l 决定要向连接写入一些数据,把数据放入到缓冲区中l 等待连接可以写入l 写入尽量多的数据l 记住写入了多少数据,如果还有更多数据要写入,等待连接再次可以写入这种缓冲IO模式很通用,libevent为此提供了一种通用机制,即bufferevent。bufferevent由一个底层的传输端口(如套接字)...转载 2018-05-30 22:01:31 · 409 阅读 · 0 评论 -
libevent参考手册第五章:辅助类型和函数
译自http://www.wangafu.net/~nickm/libevent-book/Ref5_evutil.html<event2/util.h>定义了很多在实现可移植应用时有用的函数,libevent内部也使用这些类型和函数。1 基本类型1.1 evutil_socket_t在除Windows之外的大多数地方,套接字是个整数,操作系统按照数值次序进行处理。然而,使用Windo...转载 2018-05-30 22:00:22 · 217 阅读 · 0 评论 -
翻译:libevent参考手册第四章:与事件一起工作
译自http://www.wangafu.net/~nickm/libevent-book/Ref4_event.htmllibevent的基本操作单元是事件。每个事件代表一组条件的集合,这些条件包括:v 文件描述符已经就绪,可以读取或者写入v 文件描述符变为就绪状态,可以读取或者写入(仅对于边沿触发IO)v 超时事件v 发生某信号v 用户触发事件所有事件具有相似的生命周期。调用libevent函...转载 2018-05-30 21:59:20 · 270 阅读 · 0 评论 -
翻译:Libevent参考手册第三章:与事件循环一起工作
译自http://www.wangafu.net/~nickm/libevent-book/Ref3_eventloop.html1 运行循环一旦有了一个已经注册了某些事件的event_base(关于如何创建和注册事件请看下一节),就需要让libevent等待事件并且通知事件的发生。接口默认情况下,event_base_loop()函数运行event_base直到其中没有已经注册的事件为止。执行循...转载 2018-05-30 21:58:01 · 191 阅读 · 0 评论 -
libevent参考手册第二章:创建event_base
译自http://www.wangafu.net/~nickm/libevent-book/Ref2_eventbase.html 使用libevent函数之前需要分配一个或者多个event_base结构体。每个event_base结构体持有一个事件集合,可以检测以确定哪个事件是激活的。如果设置event_base使用锁,则可以安全地在多个线程中访问它。然而,其事件循环只能运行在一个线程中。如果需...转载 2018-05-30 21:55:42 · 241 阅读 · 0 评论 -
Libevent参考手册第一章:设置libevent
翻译自:http://www.wangafu.net/~nickm/libevent-book/Ref1_libsetup.htmllibevent有一些被整个进程共享的、影响整个库的全局设置。必须在调用libevent库的任何其他部分之前修改这些设置,否则,libevent会进入不一致的状态。1 Libevent中的日志消息libevent可以记录内部错误和警告。如果编译进日志支持,还会记录调试...转载 2018-05-30 21:53:42 · 455 阅读 · 0 评论 -
Libevent参考手册:使用libevent的DNS:高层和底层功能
译自http://www.wangafu.net/~nickm/libevent-book/Ref9_dns.htmllibevent提供了少量用于解析DNS名字的API,以及用于实现简单DNS服务器的机制。我们从用于名字查询的高层机制开始介绍,然后介绍底层机制和服务器机制。注意libevent当前的DNS客户端实现存在限制:不支持TCP查询、DNSSec以及任意记录类型。未来版本的libeven...转载 2018-05-31 10:00:38 · 600 阅读 · 0 评论