Libevent官网首页翻译
2015-09-10 本文已影响288人
Keepower
Libevent - 一个事件通知库
Libevent
库的API提供了一种机制,当某个文件描述符上的指定事件发生或者一个超时事件已经到达的时候执行回调函数。此外,Libevent
也支持信号
或普通超时
引起的回调。
Libevent
库意味着可以代替事件驱动网络服务器中的事件循环。应用程序只需要调用event_dispatch()
函数,且可以动态的增加和删除事件而不会改变事件循环。
目前,libevent
库支持 /dev/poll, kqueue(2), event ports, POSIX select(2), Windowsselect(), poll(2), 还有 epoll(4).内部的事件机制与供外部应用程序调用的事件API完全独立,一个简单的libevent
库的更新可以提供一个新的功能,而不需要重新设计外部应用程序。因此,Libevent
允许可移植性应用程序开发,并且提供了最大扩展性的事件通知机制。Libevent
也用于多线程应用程序,既可以通过孤立每个event_base
以便于只有一个单线程访问它,也可以通过锁访问唯一共享的event_base
。Libevent
可以在Linux,*BSD,Mac OS X,Solaris,Windows等平台上编译。
Libevent
为缓冲网络IO,套接字,过滤器,速度限制,SSL,零复制文件传输和IOCP额外提供了一个强大的框架。Libevent
库包含了对若干个实用协议的支持,包括DNS,HTTP,和最小的RPC框架。