fireChannelWritabilityChanged
当向netty的缓冲区写数据的时候,如果一次性写的数据过大可能会导致缓冲区溢出,此时会将缓冲区设置为不可写;当缓冲区的数据发送出去后会释放一定的空间,此时缓冲区可能下降至低水位,又可以写入新的数据,会将原本不可读的标志改为可写。这两种情况会触发fireChannelWritabilityChanged事件通知pipeline中handlers,源码过程如下:
flush
netty有自己的缓冲区,每次向该缓冲区时不会直接发送出去,而是等调用flush方法时一次性发送出去,避免小量的数据多次发送。flush的源码过程如下:
deregister
deregister的源码过程如下:
至此,fireChannelWritabilityChanged、flush、deregister就分析完毕。
版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: