11 2023 档案

摘要:1.日志消息回调设置 要覆盖libevent 的日志行为,编写匹配event_log_cb 签名的定制函数,将其作为参数传递给event_set_log_callback()。 event_log_cb 回调函数中调用libevent 函数是不安全的。 #define EVENT_LOG_DEBUG 阅读全文
posted @ 2023-11-17 18:02 osbreak 阅读(21) 评论(0) 推荐(0) 编辑
摘要:一、构建libevent http服务,支持文件下载 #include <event2/event.h> #include <event2/listener.h> #include <event2/http.h> #include <event2/keyvalq_struct.h> #include 阅读全文
posted @ 2023-11-12 18:06 osbreak 阅读(163) 评论(0) 推荐(0) 编辑
摘要:可以通过添加filter对输入或输出数据进行转换和过滤,可以在读取前和写入后对数据进行一系列的预处理操作。 /** * 事件过滤回调 */ bufferevent_filter_result filter_in(evbuffer *s, evbuffer *d, ev_ssize_t limit, 阅读全文
posted @ 2023-11-11 01:00 osbreak 阅读(21) 评论(0) 推荐(0) 编辑
摘要:libevent事件 一、libevent非持久定时器 #include <iostream> #include <event2/event.h> #include <signal.h> using namespace std; static timeval t1 = { 1, 0 }; // 1秒 阅读全文
posted @ 2023-11-09 22:57 osbreak 阅读(169) 评论(0) 推荐(0) 编辑
摘要:数据封装evBuffer libevent 的 evbuffer 实现了为向后面添加数据和从前面移除数据而优化的字节队列。 1. 创建和释放evbuffer struct evbuffer *evbuffer_new(void); // 分配和返回一个新的空 evbuffer void evbuff 阅读全文
posted @ 2023-11-09 21:52 osbreak 阅读(22) 评论(0) 推荐(0) 编辑
摘要:libevent 为此提供了一种通用机制,即bufferevent bufferevent 由一个底层的传输端口(如套接字 ),一个读取缓冲区和一个写入缓冲区组成。与通常的事件在底层传输端口已经就绪,可以读取或者写入的时候执行回调不同的是,bufferevent 在读取或者写入了足够量的数据之后调用 阅读全文
posted @ 2023-11-09 01:26 osbreak 阅读(172) 评论(0) 推荐(0) 编辑
摘要:事件event libevent 的基本操作单元是事件。每个事件代表一组条件的集合,这些条件包括: 文件描述符已经就绪,可以读取或者写入 文件描述符变为就绪状态,可以读取或者写入(仅对于边沿触发 IO) 超时事件 发生某信号 用户触发事件 1.创建事件 回调函数: typedef void (*ev 阅读全文
posted @ 2023-11-09 00:38 osbreak 阅读(52) 评论(0) 推荐(0) 编辑
摘要:libevent 的基本操作单元是事件。每个事件代表一组条件的集合,这些条件包括: 文件描述符已经就绪,可以读取或者写入 文件描述符变为就绪状态,可以读取或者写入(仅对于边沿触发 IO) 超时事件 发生某信号 用户触发事件 一、循环事件 1、默认循环事件 int event_base_dispatc 阅读全文
posted @ 2023-11-09 00:02 osbreak 阅读(42) 评论(0) 推荐(0) 编辑
摘要:创建event_base 1、创建默认的event_base, 从全局变量eventops中选出操作系统支持的最快方法 。它直接调用event_base_new_with_config。 struct event_base *event_init(void); struct event_base * 阅读全文
posted @ 2023-11-08 23:01 osbreak 阅读(31) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示