Libevent之bufferevent篇

通常情况下,应用程序除了需要对事件做出相应的响应之外,还需要执行一些数据读写操作。比如,当我们需要写数据时:首先将数据放入缓冲区中==>等待该连接可写==>尽可能多的向连接中写入数据,并记录写入了多少数据==>如果没有写完,则等待连接再次可写时,继续写入。
继续阅读“Libevent之bufferevent篇”

Libevent之辅助函数及类型篇

Libevent在头文件<event2/util.h>中定义了一系列辅助类型和辅助函数,它们至少带来了两个方面的优势:一方面,使用户不需要过多关注细节,提高开发效率;另一个方面,解决平台间的差异性,为跨平台做出一定贡献。
继续阅读“Libevent之辅助函数及类型篇”

Libevent前篇之异步IO

如果一个IO调用不是在调用它之后立即返回,而是在它完成了所有操作或者超时之后才返回,那么它就是一个典型的同步IO。比如,客户端通过调用connect()函数向服务端发起TCP连接请求时,只有当双方完成了三次握手或者超时之后,connect()函数才会返回。
继续阅读“Libevent前篇之异步IO”