标签:
The libevent API (libevent应用程序)provides a mechanism(机制) to execute(执行) a callback function(回调函数) when a specific(特别的) event occurs on(发生在) a file descriptor(文件描述符) or after a timeout has been reached.(时间超时之后)
Furthermore(此外), libevent also support callbacks due to(对于) signals(信号) or regular timeouts.(规律性的超时)
libevent is meant to (是为了)replace the event loop (时间循环)found in(分布在) event driven network servers(事件驱动网络服务器). An application just needs to call event_dispatch()and then(然后) add or remove events dynamically (动态地)without having to (而不需要)change the event loop.
Currently, libevent supports /dev/poll, kqueue(2), event ports, POSIX select(2), Windows select(), poll(2), and epoll(4). The internal event mechanism(内部的事件机制) is completely independent of the exposed(暴露的) event API, and a simple update of libevent can provide new functionality(功能) without having to redesign(重新设计) the applications. As a result, Libevent allows for(允许) portable application(绿色软件) development and provides the most scalable(可扩展的) event notification mechanism available on an operating system. Libevent can also be used for被用于 multi-threaded多线程 applications, either(也) by(通过) isolating(隔离) each event_base(事件库) so that(以便于) only a single thread accesses(访问) it, or by locked(锁定) access to a single shared event_base.Libevent should compile(编译) on Linux, *BSD, Mac OS X, Solaris, Windows, and more.
Libevent additionally(附带的地;此外) provides a sophisticated(复杂的) framework(框架) for buffered(缓冲的) network IO, with support for sockets(套接口), filters(过滤器), rate-limiting(限速), SSL(安全套接层), zero-copy file transmission(零拷贝文件传输), and IOCP输入输出应用程序. Libevent includes support for several useful protocols(协议), including DNS, HTTP, and a minimal(最低地) RPC(远程过程调用) framework(框架).
More information about event notification mechanisms for network servers can be found on(基于) Dan Kegel‘s "The C10K problem" web page.
A mailing list for libevent (libevent邮件列表)is now available. Libevent is maintained(维持) by Nick Mathewson and Niels Provos.
标签:
原文地址:http://www.cnblogs.com/jasonxu19900827/p/5104787.html