netty中的一些配置相關

在netty中,可能會需要用到一些配置,比如說:

ServerBootstrap b = new ServerBootstrap();
b.option(ChannelOption.SO_BACKLOG, 1024);//這裏我們需要關注ChannelOption類
//用於指定是否使用對象池,一般使用默認,即不用配置。詳情見:ByteBufAllocator
ChannelOption<ByteBufAllocator> ALLOCATOR = valueOf("ALLOCATOR");
//Channel接受Buffer的分配器,默認值爲AdaptiveRecvByteBufAllocator.DEFAULT。可選值爲FixedRecvByteBufAllocator,固定大小的接受緩衝區分配器。
ChannelOption<RecvByteBufAllocator> RCVBUF_ALLOCATOR = valueOf("RCVBUF_ALLOCATOR");
//消息大小估算器
ChannelOption<MessageSizeEstimator> MESSAGE_SIZE_ESTIMATOR = valueOf("MESSAGE_SIZE_ESTIMATOR");
//netty的client鏈接server的超時時間。
ChannelOption<Integer> CONNECT_TIMEOUT_MILLIS = valueOf("CONNECT_TIMEOUT_MILLIS");
//一次Loop讀取的最大消息數
ChannelOption<Integer> MAX_MESSAGES_PER_READ = valueOf("MAX_MESSAGES_PER_READ");
//一個Loop寫操作執行的最大次數,默認值爲16。也就是說,對於大數據量的寫操作至多進行16次,如果16次仍沒有全部寫完數據,
//此時會提交一個新的寫任務給EventLoop,任務將在下次調度繼續執行。
//這樣,其他的寫請求才能被響應不會因爲單個大數據量寫請求而耽誤。
ChannelOption<Integer> WRITE_SPIN_COUNT = valueOf("WRITE_SPIN_COUNT");
ChannelOption<Integer> WRITE_BUFFER_HIGH_WATER_MARK = valueOf("WRITE_BUFFER_HIGH_WATER_MARK");
ChannelOption<Integer> WRITE_BUFFER_LOW_WATER_MARK = valueOf("WRITE_BUFFER_LOW_WATER_MARK");
//一個連接的遠端關閉時本地端是否關閉,默認值爲False。值爲False時,連接自動關閉;爲True時,觸發ChannelInboundHandler的userEventTriggered()方法,事件爲ChannelInputShutdownEvent。
ChannelOption<Boolean> ALLOW_HALF_CLOSURE = valueOf("ALLOW_HALF_CLOSURE");
ChannelOption<Boolean> AUTO_READ = valueOf("AUTO_READ");
ChannelOption<Boolean> AUTO_CLOSE = valueOf("AUTO_CLOSE");
ChannelOption<Boolean> SO_BROADCAST = valueOf("SO_BROADCAST");
ChannelOption<Boolean> SO_KEEPALIVE = valueOf("SO_KEEPALIVE");
ChannelOption<Integer> SO_SNDBUF = valueOf("SO_SNDBUF");
ChannelOption<Integer> SO_RCVBUF = valueOf("SO_RCVBUF");
ChannelOption<Boolean> SO_REUSEADDR = valueOf("SO_REUSEADDR");
ChannelOption<Integer> SO_LINGER = valueOf("SO_LINGER");
ChannelOption<Integer> SO_BACKLOG = valueOf("SO_BACKLOG");
ChannelOption<Integer> SO_TIMEOUT = valueOf("SO_TIMEOUT");
ChannelOption<Integer> IP_TOS = valueOf("IP_TOS");
ChannelOption<InetAddress> IP_MULTICAST_ADDR = valueOf("IP_MULTICAST_ADDR");
ChannelOption<NetworkInterface> IP_MULTICAST_IF = valueOf("IP_MULTICAST_IF");
ChannelOption<Integer> IP_MULTICAST_TTL = valueOf("IP_MULTICAST_TTL");
ChannelOption<Boolean> IP_MULTICAST_LOOP_DISABLED = valueOf("IP_MULTICAST_LOOP_DISABLED");
ChannelOption<Boolean> TCP_NODELAY = valueOf("TCP_NODELAY");
@Deprecated
ChannelOption<Long> AIO_READ_TIMEOUT = valueOf("AIO_READ_TIMEOUT");
@Deprecated
ChannelOption<Long> AIO_WRITE_TIMEOUT = valueOf("AIO_WRITE_TIMEOUT");
@Deprecated
ChannelOption<Boolean> DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION = valueOf("DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION");
ChannelOption<Boolean> SINGLE_EVENTEXECUTOR_PER_GROUP = valueOf("SINGLE_EVENTEXECUTOR_PER_GROUP");
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章