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源码分析-----evbuffer结构与基本操作