(五)struct event结构体

本文详细介绍了libevent中的核心结构体struct event,包括其在事件驱动模型中的作用、结构体成员、事件类型、事件状态、事件管理方式,以及回调函数的使用。重点讨论了event如何按优先级管理和激活事件,并与event_base的关系。
摘要由CSDN通过智能技术生成

前言

之前说到过libevent是基于事件驱动模型的网络库,其中的事件,就是event,它的确算是libevent中最核心的部分,而上一节说到的event_base其实算是驱动部分,负责事件的各种处理。它们之间的关系是,一个event_base对应多个event
下面主要讲解的是struct event结构体,位于event.h

struct event

struct event {
    /* 尾队列节点指针 用于保存所有注册了的I/O以及signal事件 以及激活的事件(其实libevent中的尾队列本质上就是一个双向链表)*/
    TAILQ_ENTRY (event) ev_next;    //已注册I/O事件链表
    TAILQ_ENTRY (event) ev_active_next; //所有激活了的事件链表,通过遍历该链表进行调度
    TAILQ_ENTRY (event) ev_signal_next; //已注册signal事件链表

    unsigned int min_heap_idx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值