增加WriteCompleteCallback
应用层缓冲区数据全部发送到内核缓冲区后,回调WriteCompleteCallback,以使应用层发送更多的数据。
对于大流量的应用才需要关注,大流量不断生成数据,然后发送conn->send(),如果对等方接收不及时,收到通告窗口的控制,内核发送缓冲不足,这个时候就会将用户数据添加到应用层发送缓冲区(output buffer),可能会撑爆output buffer。解决办法就是,调增发送频率,关注WriteCompleteCallback 回调,发送完毕后再发送。
对于低流量的程序通常不需要关注WriteCompleteCallback
增加highWaterMarkCallback
高水位标回调函数,当outputBuffer 大小达到一定程度的时候回调这个函数。这是因为对等方接收不及时导致outputBuffer不断增长,在这个回调函数中我们就断掉这个连接,以免程序内存增大。
绑定一个未知类型的上下文对象boost::any context_
一个连接对象绑定一个未知类型的上下文对象,让上层应用根据需要绑定一个对象