Unsafe的write
方法由其实现类AbstractUnsafe实现。
Netty为每个channel配备了一个缓冲区ChannelOutboundBuffer,每次调用write
方法写入的数据都是先写入该缓冲区,当调用flush
方法时才会将数据写入TCP的缓冲区。wirte
方法的源码如下:
调用flush
将Netty缓冲区的数据写入TCP的缓冲区,即发送出去,flush的源码如下:
第8步的doWrite
方法是AbstractChannel类的抽象方法,在NioSocketChannel中实现,源码如下:
至此,Unsafe的write和flush操作至此分析完毕。
版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: