1 Star 7 Fork 13

刘丹冰Aceld / libevent

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
85_evbuffershu_ju_yi_dong.md 732 Bytes
一键复制 编辑 原始数据 按行查看 历史
aceld 提交于 2016-07-18 11:01 . Update SUMMARY.md

8.5 evbuffer数据移动

为提高效率,libevent 具有将数据从一个 evbuffer 移动到另一个的优化函数。

int evbuffer_add_buffer(struct evbuffer *dst, struct evbuffer *src);

int evbuffer_remove_buffer(struct evbuffer *src, 
                    struct evbuffer *dst,
                    size_t datlen);

evbuffer_add_buffer()将 src 中的所有数据移动到 dst 末尾,成功时返回0,失败时返回-1。

evbuffer_remove_buffer()函数从 src 中移动 datlen 字节到 dst 末尾,尽量少进行复制。如果字节数小于 datlen,所有字节被移动。函数返回移动的字节数。

evbuffer_add_buffer()在0.8版本引入; evbuffer_remove_buffer()是2.0.1-alpha 版本新增加的。

1
https://gitee.com/Aceld/libevent.git
git@gitee.com:Aceld/libevent.git
Aceld
libevent
libevent
master

搜索帮助