libevent
奋斗的小面包
每天进步一点点,N天之后你会发现你征服了一座大山!
展开
-
一 序幕
1 前言Libevent 是一个轻量级的开源高性能网络库,使用者众多,研究者更甚,相关文章也不少。写这一系列文章的用意在于,一则分享心得;二则对 libevent 代码和设计思想做系统的、更深层次的分析,写出来,也可供后来者参考。附带一句:Libevent 是用 c 语言编写的(MS 大牛们都偏爱 c 语言哪),而且几乎是无处不函数指针,学习其源代码也需要相当的 c 语言基础。2 Libeven...原创 2018-03-16 15:57:46 · 129 阅读 · 0 评论 -
二 Reactor
前面讲到,整个 libevent 本身就是一个 Reactor,因此本节将专门对 Reactor 模式进行必要的介绍,并列出 libevnet 中的几个重要组件和 Reactor 的对应关系,在后面的章节中可能还会提到本节介绍的基本概念。1 Reactor 的事件处理机制首先来回想一下普通函数调用的机制:程序调用某函数?函数执行,程序等待?函数将结果和控制权返回给程序?程序继续处理。Reacto...原创 2018-03-16 16:02:46 · 140 阅读 · 0 评论 -
三 基本使用场景和事件流程
1 前言学习源代码该从哪里入手?我觉得从程序的基本使用场景和代码的整体处理流程入手是个不错的方法,至少从个人的经验上讲,用此方法分析 libevent 是比较有效的。2 基本应用场景基本应用场景也是使用 libevnet 的基本流程,下面来考虑一个最简单的场景,使用livevent 设置定时器,应用程序只需要执行下面几个简单的步骤即可。1)首先初始化 libevent 库,并保存返回的指针st...原创 2018-03-16 16:07:11 · 1093 阅读 · 0 评论 -
声明
以下源码解析的文章出自张亮之手,但是个人感觉解析的源码版本较老,与现在出入比较大。我试着在他的基础上保持主框架不变动的情况下进行修改,但是需要些时间,还请谅解,同时感谢张亮的分享。...原创 2018-03-16 16:11:20 · 125 阅读 · 0 评论