在 libevent 中使用 MariaDB(MySQL)

2018-10-02
阅读 4 分钟
5.8k
在之前我翻译的官方文档中提到了 MariaDB 提供了对异步 I/O 的支持。那篇文章是一个比较简要的介绍。不过实际适配中,官方也提供了一个完整适配 libevent 的示例代码。本文算是对我上述示例代码的阅读笔记吧。

在 C/C++ 异步 I/O 中使用 MariaDB 的非阻塞接口

2018-09-14
阅读 5 分钟
6.2k
对 C/C++,MySQL 提供的库传统上都是阻塞操作,因此适合多线程 / 进程服务器架构编程。但是如果用 C/C++ 编写服务器,往往对性能会有极致要求,此时采用非阻塞的异步 I/O 才是更好的框架。

基于 epoll 设计类似 libevent 的异步 I/O 库 - 接口

2017-06-13
阅读 4 分钟
6.7k
这篇文章可以算是我在 GitHub 上一个工程的设计概要了。简要说明了该工程的设计思路以及技术要点。 本文章纯原创,没有参考资料。不过有设计过程中记录下的相关文章: 使用 pipe 在程序正文中捕获和处理信号 本文地址:[链接] 工程简介 基本原理 总所周知,在 Linux 中实现异步 I/O,适用的系统 API 就是 epoll。这里主...

Libevent 官方文档学习笔记(3. evbuffer部分)

2016-07-04
阅读 6 分钟
10.1k
本文地址:[链接]  Evbuffers: 缓冲化的I/O实用工具  头文件:<event2/buffer.h> Evbuffer基本操作 {代码...} 创建/销毁evbuffer {代码...} 第一个函数,参数locking传入的参数是一个锁。可以传入NULL,让evbffer自动创建一个锁。 {代码...} 第一个函数,获取当前evbuffer的总数据长度。第二个函数,由于数据在e...

Libevent 官方文档学习笔记(2. bufferevent部分)

2016-05-31
阅读 8 分钟
16.8k
evutil_socket_tSocket的抽象。除了Windows之外,其他系统都是一个int类型。如果考虑Windows的兼容性的话,建议用这个类型。

Libevent 官方文档学习笔记(1. libevent_core部分)

2016-05-30
阅读 9 分钟
24.6k
初入libevent的人,很可能是第一次接触异步编程。Libevent的编程思想,建议还是多看前人的程序,或者是看libevent本身的文档学习。或者是介绍另外一个库,那就是libuv,它是libev某种意义上的的替代品(而libev又可以算是libevent的某种替代品笑)。libuv的文档我记得也有对异步编程的介绍。好了,这不是本文的内容。