码迷,mamicode.com
首页 > 其他好文 > 详细

libevent 相关资料

时间:2014-10-25 15:47:49      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:blog   http   os   ar   sp   art   log   代码   html   

最近两天看了看libevnet 源代码~,主要学习资料是源代码libevent-2.0.21-stable、

Libevent是一个用于开发可扩展性网络服务器的基于事件驱动(event-driven)模型的网络库。Libevent有几个显著的亮点: 
(1)事件驱动(event-driven),高性能;
(2)轻量级,专注于网络; 
(3)源代码相当精炼、易读; 
(4)跨平台,支持 Windows、Linux、*BSD和 Mac Os; 
(5)支持多种 I/O多路复用技术, epoll、poll、dev/poll、select 和kqueue 等; 
(6)支持 I/O,定时器和信号等事件; 
(7)注册事件优先级; 
 Libevent 已经被广泛的应用,作为底层的网络库;比如 memcached、等等。

libevent 是Reactor 反应器模式。

 

源代码中总要的结构:

1、struct event_base.  主要控制结构,相当于Reacot模式中的reactor。 主循环,底层调用 epoll_wait()等 多路复用机制。

2、struct  event     .    事件处理程序的抽象(结构体中包含回调函数,由event_base 触发), 由event_base管理 。 event_base通过链表、二叉堆来管理event,用于优先级、定时器管理。

 

参考了以及下面几个博客,这几个博客已经总结的很好了:

http://blog.csdn.net/sparkliang/article/category/660506

http://www.cnblogs.com/hustcat/archive/2010/08/31/1814022.html

 

libevent 相关资料

标签:blog   http   os   ar   sp   art   log   代码   html   

原文地址:http://www.cnblogs.com/baozimeiyouxian/p/4050078.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!