IOBuf
IOBuf
类似于linux
中的sk_buf
,是一个网络编程中的常见概念,用一个物理上的非连续空间虚拟出逻辑上的连续空间,同时利用引用计数避免拷贝复制。
空间布局如右所示:headRoom
+ data
+ tailRoom
,因此可以prepend() && append()
。
同时通过多个IOBuf
chain
连接成逻辑上的连续空间,通过unlink
释放。
同时兼容了iovec
调用,充分利用多个小块读写。
EventBase
基于IOBuf
和RequestCtx
,引入了和libevent
类似的事件循环模型。
经验
为了P99,一定要把CPU密集事件移动到专门的CPU密集操作池中,防止拖慢IO事件。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。