原文:libevent源码分析(一)

分析libevent的源代码,我的想法的是先分析各种结构体,struct event base struct event,然后是event base new函数 event new函数 event add函数,最后分析event base dispatch函数。 一 各种结构体 event base struct event base结构体在event internal.h文件中定义。 二 初始化 ...

2016-07-23 15:22 0 2854 推荐指数:

查看详情

libevent源码分析:listener

listener是libevent封装的一个方便生成监听者的一组结构和函数,其中包括: View Code 定义的函数有以下几个: evconnlistener_cb:函数指针类型,当有一个新连接到来时被回调 ...

Sat Dec 17 16:22:00 CST 2016 0 1414
Libevent源码分析(一):最小堆

Libevent中的timeout事件是使用最小堆来管理维护的.代码位于<minheap-internal.h>. 看函数命名和代码风格应该是一个C++程序员,函数名都挺好懂的,只是下面这个结构体变量命名比较坑.... 注释是我加的,这命名,n啊a啊的,鬼知道啥意思 ...

Tue Nov 18 06:37:00 CST 2014 1 2106
Libevent源码分析—event_add()

接下来就是将已经初始化的event注册到libevent的事件链表上,通过event_add()来实现,源码位于event.c中。 event_add() 这个函数主要完成了下面几件事: 1.将event注册到event_base的I/O多路复用要监听的事件中 2. ...

Thu Jun 01 23:30:00 CST 2017 0 2896
Libevent源码分析—event_set()

初始化完event_base后,下面要初始化event,通过调用event_set()实现 。相关源码位于event.c event_set() 通过传入的参数:fd, events, 回调函数,arg设置event的相应成员,并初始化event在小根堆中的索引 ...

Tue May 30 19:54:00 CST 2017 0 1760
libevent源码分析二--timeout事件响应

libevent不仅支持io事件,同时还支持timeout事件与signal事件,这篇文件将分析libevent是如何组织timeout事件以及如何响应timeout事件。 1. min_heap 首先,event_base中有一个成员struct min_heap timeheap ...

Sat Aug 17 00:18:00 CST 2019 0 358
Libevent源码分析—event_base_dispatch()

我们知道libevent是一个Reactor模式的事件驱动的网络库。 到目前为止,我们已经看了核心的event和event_base结构体的源码,看了初始化这两个结构体的源码,看了注册event的源码,也将event注册到I/O多路复用监听的事件上了。现在准备工作都做 ...

Fri Jun 02 01:51:00 CST 2017 0 8549
Libevent源码分析—event_init()

下面开始看初始化event_base结构的相关函数。相关源码位于 event.c event_init() 首先调用event_init()初始化event_base结构体 我们发现event_init()工作量很少,只是调用 ...

Tue May 30 19:43:00 CST 2017 0 1839
libevent源码分析:http-server例子

http-server例子是libevent提供的一个简单web服务器,实现了对静态网页的处理功能。 View Code 下面就通过分析这个例子来理解evhttp对象的使用与实现: 1、首先介绍一个这段代码里面的几个函数及其作用 ...

Sun Dec 18 16:25:00 CST 2016 0 4809
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM