原文:Libevent源码分析—event_add()

接下来就是将已经初始化的event注册到libevent的事件链表上,通过event add 来实现,源码位于event.c中。 event add 这个函数主要完成了下面几件事: .将event注册到event base的I O多路复用要监听的事件中 .将event注册到event base的已注册事件链表中 .如果传入了超时时间,则删除旧的超时时间,重新设置,并将event添加到event ...

2017-06-01 15:30 0 2896 推荐指数:

查看详情

libevent源码分析event_addevent_del

event_addevent_del两个函数分别是使event生效和失效的,下面就来看一下两个函数的实现。 event_add 这里以epoll作为后端来举例分析event_add函数的调用流程: event_del 这里以epoll作为后端来分析 ...

Sat Jan 21 09:34:00 CST 2017 0 3997
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源码分析event_base_dispatch()

我们知道libevent是一个Reactor模式的事件驱动的网络库。 到目前为止,我们已经看了核心的eventevent_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源码分析event_assign、event_new

libevent中,获取event类型对象的方法有两种,event_assign、event_new 1、event_assign() 实现: 其实event_assign的作用就是把给定的event类型对象的每一个成员赋予一个指定的值 ...

Tue Sep 13 19:45:00 CST 2016 0 5642
libevent源码分析(一)

分析libevent的源代码,我的想法的是先分析各种结构体,struct event_base、struct event,然后是event_base_new函数、event_new函数、event_add函数,最后分析event_base_dispatch函数。 一、各种结构体 ...

Sat Jul 23 23:22:00 CST 2016 0 2854
libevent源码分析:listener

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

Sat Dec 17 16:22:00 CST 2016 0 1414
Libevent源码学习笔记一:event2/event.h

一、libevent标准使用方法:   每个程序使用Libevent必须include <event2/event.h> 头文件,并 传给 -levent 链接器。如果只是想使用主要的event和buffered IO-based code,不想链接任何协议代买,使用链接 ...

Wed Apr 11 23:38:00 CST 2018 0 2861
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM