【发布时间】:2021-08-30 18:07:28
【问题描述】:
目前(截至 Libevent 2.0.5-beta),
bufferevent_flush()仅 为一些缓冲事件类型实现。 尤其是基于套接字的 bufferevents 没有。
我测试了以下代码:
auto output = ::bufferevent_get_output(bev);
::evbuffer_add(output, "hello", 5);
// ::bufferevent_flush(bev, EV_WRITE, BEV_FLUSH);
注意,我注释掉了最后一行::bufferevent_flush(bev, EV_WRITE, BEV_FLUSH);,但数据仍然是立即发送的。
是否 bufferevent_flush 对于 libevent 中基于套接字的缓冲事件不是必需的?如果是这样,libevent 如何决定何时发送 evbuffer 中的待处理数据?
【问题讨论】:
标签: c asynchronous networking network-programming libevent