37、Netty源码分析:ChannelConfig

ChannelConfig

在前面创建NioServerSocketChannel构造函数中,最后一步创建了channel属性的配置类NioServerSocketChannelConfig,本文详细分析下该类,先看下其类结构图。

类结构图

*

服务端使用的NioServerSocketChannelConfig,客户端使用的NioSocketChannelConfig,接下来以NioServerSocketChannelConfig为例着重分下config类的用途。

类属性

*

config类的属性一般都可以通过启动类ServerBootStrap类的option方法来设置,当然也可以调用setXXX方法自定义设置。他们的默认值如下:
*

writeBufferWaterMark的默认值如下:

*

构造函数

NioServerSocketChannelConfig的构造函数源码过程如下,在整个过程中只有rcvBufAllocator的值是新创建的,其他属性值都有默认值。

*

至此ChannelConfig的分析到此结束,ChannelConfig只是简单的提供属性,在使用的话时候通常使用getXXX方法获取,重要的是它的赋值,其中allocator、rcvBufAllocator、msgSizeEstimator这三个属性比较重要,后文再详细分析。

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: