随笔分类 -  Libevent分析

libevent中的基本数据结构---queue.h
摘要:使用例子如下: 1 #include "list.h" 2 #include <stdlib.h> 3 #include <stdio.h> 4 5 struct Person{ 6 int age; 7 double length; 8 SLIST_ENTRY(Person) next; 9 }; 阅读全文

posted @ 2018-03-22 08:59 沐浴凌风 阅读(1441) 评论(0) 推荐(0) 编辑

Libevent 事件循环(2)---事件被加入激活队列
摘要:由Libevent 事件循环(1) 在上文中我们提到了libevent 事件循环event_dispatch 的大致过程,以epoll为例,我们看一下事件被如何加入激活队列。 再看函数event_active_nolock_(ev, ev->ev_events & events, 1)。 我们在ti 阅读全文

posted @ 2017-12-11 10:49 沐浴凌风 阅读(1686) 评论(0) 推荐(0) 编辑

Libevent 事件循环(1)
摘要:以 epoll 模型的dispatch 看一下evsel->dispatch(base, tv_p); 再看一下timeout_process. 阅读全文

posted @ 2017-12-05 17:04 沐浴凌风 阅读(1305) 评论(0) 推荐(0) 编辑

Libevent 事件管理和添加事件
摘要:/** 我们先来看一下事件的创建*/struct event * event_new(struct event_base *base, evutil_socket_t fd, short events, void (*cb)(evutil_socket_t, short, void *), void *arg) { struct event *ev; ev = mm_mall... 阅读全文

posted @ 2017-12-04 17:44 沐浴凌风 阅读(828) 评论(0) 推荐(0) 编辑

Libevent 反应堆的初始化
摘要:// 默认情况下new eventbase struct event_base * event_base_new(void) { struct event_base *base = NULL; //初始化系统配置 struct event_config *cfg = event_config_new(); // 使用默认的配置方法 if (cfg) { ... 阅读全文

posted @ 2017-11-09 16:38 沐浴凌风 阅读(399) 评论(1) 推荐(0) 编辑

Libevent(2.1.8)中的事件结构和管理
摘要:Libevent(2.1.8)中的事件结构体 这里的libevent版本为 2.1.8 。 libevent中事件的结构体struct event,定义在event_struct.h 中, 这里我们简单看一下: 这里可以看到这个版本下的event 结构体比之前的好像少了不少东西, 如之前的结构: 这 阅读全文

posted @ 2017-11-09 15:21 沐浴凌风 阅读(482) 评论(0) 推荐(0) 编辑

导航