前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Libevent(二)

Libevent(二)

作者头像
用户4766018
发布2022-08-19 08:46:12
3260
发布2022-08-19 08:46:12
举报
文章被收录于专栏:格物致知

Libevent提供了一个基于缓冲IO的抽象。这个抽象就是bufferevent。Bufferevent提供了自动填充和输出的缓冲区。用户不会直接和IO打交道,而是从输入缓冲区读,在输出缓冲区写。

一旦用bufferevent_socket_new初始化,bufferevent结构体可以重复使用bufferevent_enable()和bufferevent_disable()。你需要用bufferevent_read()和bufferevent_write()进行读写,而不是直接用socket进行读写。

当读被启用,bufferevent会试图从文件描述符读数据并调用回调函数。The write callback is executed whenever the

output buffer is drained below the write low watermark, which is 0 by

Default.

Libevent可以用来生成定时器,当达到一定的时间后调用回调函数。Evtimer_new函数返回一个事件结构体,用来做定时器。要激活这个定时器,调用evtimer_add()。调用evtimer_del可以禁用定时器。

Libevent为RPC提供了一个框架,可以用来处理所有数据的marshaling and unmarshaling。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2011/10/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档