《Netty》从零开始学netty源码(二十三)之ChannelOutboundBuffer(下)

nioBuffers

在进行flush操作时调用nioBuffers方法获取需要发送的数据,源码过程如下:

《Netty》从零开始学netty源码(二十三)之ChannelOutboundBuffer(下)_第1张图片

接下来我们看下第9步的扩容与第10.2步的源码:

扩容expandNioBufferArray

《Netty》从零开始学netty源码(二十三)之ChannelOutboundBuffer(下)_第2张图片

nioBuffers

《Netty》从零开始学netty源码(二十三)之ChannelOutboundBuffer(下)_第3张图片

removeBytes

当netty缓冲区的数据flush到TCP缓冲区后就需要调用removeBytes删除数据,源码过程如下:

《Netty》从零开始学netty源码(二十三)之ChannelOutboundBuffer(下)_第4张图片

接下来看下progress和clearNioBuffers方法

更新进度progress

《Netty》从零开始学netty源码(二十三)之ChannelOutboundBuffer(下)_第5张图片

清空缓冲区clearNioBuffers

《Netty》从零开始学netty源码(二十三)之ChannelOutboundBuffer(下)_第6张图片

你可能感兴趣的:(Netty,netty)