libevent分析

libevent特性 实现方法
跨平台支持 linux、windows、BSD、Solaris
内存池管理 没实现,只提供自定义接口
IO多路复用 支持epoll、poll、select、dev/poll、IOCP
IO缓冲区 支持。evbuffer。后节点大小是前一节点的两倍
多缓冲区 支持。 writev、readev
多种bufferevent

1、基于socket的bufferevent

2、成对的bufferevent

3、过滤型bufferevent(如压缩、转换数据)

零拷贝技术 支持。sendfile、mmap
定时事件

支持。

默认二进制堆算法 O(logN)

可优化公用超时,双向链路实现 O(1)

event_base_init_common_timeout

信号事件 支持
DNS协议 支持
Openssl协议 支持
速率限制

支持

bufferevent_set_rate_limit

支持组限制

bufferevent_rate_limit_group_new

   

参考:LibEvent代码阅读--多缓冲区和零拷贝技术

Libevent源码分析-----evbuffer结构与基本操作

libevent: evbuffer缓冲 (转)

认真分析mmap:是什么 为什么 怎么用

猜你喜欢

转载自my.oschina.net/u/945874/blog/911173