0
点赞
收藏
分享

微信扫一扫

muduo库net源码分析十二(完善TcpConnection)

司马吹风 2022-02-23 阅读 34

增加WriteCompleteCallback

应用层缓冲区数据全部发送到内核缓冲区后,回调WriteCompleteCallback,以使应用层发送更多的数据。

对于大流量的应用才需要关注,大流量不断生成数据,然后发送conn->send(),如果对等方接收不及时,收到通告窗口的控制,内核发送缓冲不足,这个时候就会将用户数据添加到应用层发送缓冲区(output buffer),可能会撑爆output buffer。解决办法就是,调增发送频率,关注WriteCompleteCallback 回调,发送完毕后再发送。

对于低流量的程序通常不需要关注WriteCompleteCallback

增加highWaterMarkCallback

高水位标回调函数,当outputBuffer 大小达到一定程度的时候回调这个函数。这是因为对等方接收不及时导致outputBuffer不断增长,在这个回调函数中我们就断掉这个连接,以免程序内存增大。

绑定一个未知类型的上下文对象boost::any context_

一个连接对象绑定一个未知类型的上下文对象,让上层应用根据需要绑定一个对象

举报

相关推荐

0 条评论