public interface SocketChannelConfig extends ChannelConfig
ChannelConfig for a SocketChannel.
ChannelConfig,
SocketChannelConfig allows the following options in the option map:
| 限定符和类型 | 方法和说明 |
|---|---|
int |
getReceiveBufferSize()
Gets the
StandardSocketOptions.SO_RCVBUF option. |
int |
getSendBufferSize()
Gets the
StandardSocketOptions.SO_SNDBUF option. |
int |
getSoLinger()
Gets the
StandardSocketOptions.SO_LINGER option. |
int |
getTrafficClass()
Gets the
StandardSocketOptions.IP_TOS option. |
boolean |
isAllowHalfClosure()
Returns
true if and only if the channel should not close itself when its remote
peer shuts down output to make the connection half-closed. |
boolean |
isKeepAlive()
Gets the
StandardSocketOptions.SO_KEEPALIVE option. |
boolean |
isReuseAddress()
Gets the
StandardSocketOptions.SO_REUSEADDR option. |
boolean |
isTcpNoDelay()
Gets the
StandardSocketOptions.TCP_NODELAY option. |
SocketChannelConfig |
setAllocator(ByteBufAllocator allocator)
Set the
ByteBufAllocator which is used for the channel
to allocate buffers. |
SocketChannelConfig |
setAllowHalfClosure(boolean allowHalfClosure)
Sets whether the channel should not close itself when its remote peer shuts down output to
make the connection half-closed.
|
SocketChannelConfig |
setAutoClose(boolean autoClose) |
SocketChannelConfig |
setAutoRead(boolean autoRead)
Sets if
ChannelHandlerContext.read() will be invoked automatically so that a user application doesn't
need to call it at all. |
SocketChannelConfig |
setConnectTimeoutMillis(int connectTimeoutMillis)
Sets the connect timeout of the channel in milliseconds.
|
SocketChannelConfig |
setKeepAlive(boolean keepAlive)
Sets the
StandardSocketOptions.SO_KEEPALIVE option. |
SocketChannelConfig |
setMaxMessagesPerRead(int maxMessagesPerRead)
Sets the maximum number of messages to read per read loop.
|
SocketChannelConfig |
setMessageSizeEstimator(MessageSizeEstimator estimator)
Set the
MessageSizeEstimator which is used for the channel
to detect the size of a message. |
SocketChannelConfig |
setPerformancePreferences(int connectionTime,
int latency,
int bandwidth)
Sets the performance preferences as specified in
Socket.setPerformancePreferences(int, int, int). |
SocketChannelConfig |
setReceiveBufferSize(int receiveBufferSize)
Sets the
StandardSocketOptions.SO_RCVBUF option. |
SocketChannelConfig |
setRecvByteBufAllocator(RecvByteBufAllocator allocator)
Set the
ByteBufAllocator which is used for the channel
to allocate receive buffers. |
SocketChannelConfig |
setReuseAddress(boolean reuseAddress)
Sets the
StandardSocketOptions.SO_REUSEADDR option. |
SocketChannelConfig |
setSendBufferSize(int sendBufferSize)
Sets the
StandardSocketOptions.SO_SNDBUF option. |
SocketChannelConfig |
setSoLinger(int soLinger)
Sets the
StandardSocketOptions.SO_LINGER option. |
SocketChannelConfig |
setTcpNoDelay(boolean tcpNoDelay)
Sets the
StandardSocketOptions.TCP_NODELAY option. |
SocketChannelConfig |
setTrafficClass(int trafficClass)
Sets the
StandardSocketOptions.IP_TOS option. |
SocketChannelConfig |
setWriteSpinCount(int writeSpinCount)
Sets the maximum loop count for a write operation until
WritableByteChannel.write(ByteBuffer) returns a non-zero value. |
getAllocator, getConnectTimeoutMillis, getMaxMessagesPerRead, getMessageSizeEstimator, getOption, getOptions, getRecvByteBufAllocator, getWriteBufferHighWaterMark, getWriteBufferLowWaterMark, getWriteSpinCount, isAutoClose, isAutoRead, setOption, setOptions, setWriteBufferHighWaterMark, setWriteBufferLowWaterMarkboolean isTcpNoDelay()
StandardSocketOptions.TCP_NODELAY option. Please note that the default value of this option
is true unlike the operating system default (false). However, for some buggy platforms, such as
Android, that shows erratic behavior with Nagle's algorithm disabled, the default value remains to be
false.SocketChannelConfig setTcpNoDelay(boolean tcpNoDelay)
StandardSocketOptions.TCP_NODELAY option. Please note that the default value of this option
is true unlike the operating system default (false). However, for some buggy platforms, such as
Android, that shows erratic behavior with Nagle's algorithm disabled, the default value remains to be
false.int getSoLinger()
StandardSocketOptions.SO_LINGER option.SocketChannelConfig setSoLinger(int soLinger)
StandardSocketOptions.SO_LINGER option.int getSendBufferSize()
StandardSocketOptions.SO_SNDBUF option.SocketChannelConfig setSendBufferSize(int sendBufferSize)
StandardSocketOptions.SO_SNDBUF option.int getReceiveBufferSize()
StandardSocketOptions.SO_RCVBUF option.SocketChannelConfig setReceiveBufferSize(int receiveBufferSize)
StandardSocketOptions.SO_RCVBUF option.boolean isKeepAlive()
StandardSocketOptions.SO_KEEPALIVE option.SocketChannelConfig setKeepAlive(boolean keepAlive)
StandardSocketOptions.SO_KEEPALIVE option.int getTrafficClass()
StandardSocketOptions.IP_TOS option.SocketChannelConfig setTrafficClass(int trafficClass)
StandardSocketOptions.IP_TOS option.boolean isReuseAddress()
StandardSocketOptions.SO_REUSEADDR option.SocketChannelConfig setReuseAddress(boolean reuseAddress)
StandardSocketOptions.SO_REUSEADDR option.SocketChannelConfig setPerformancePreferences(int connectionTime, int latency, int bandwidth)
Socket.setPerformancePreferences(int, int, int).boolean isAllowHalfClosure()
true if and only if the channel should not close itself when its remote
peer shuts down output to make the connection half-closed. If false, the connection
is closed automatically when the remote peer shuts down output.SocketChannelConfig setAllowHalfClosure(boolean allowHalfClosure)
true the connection is not closed when the
remote peer shuts down output. Instead,
ChannelInboundHandler.userEventTriggered(ChannelHandlerContext, Object)
is invoked with a ChannelInputShutdownEvent object. If false, the connection
is closed automatically.SocketChannelConfig setConnectTimeoutMillis(int connectTimeoutMillis)
ChannelConfigChannel does not support connect operation, this property is not
used at all, and therefore will be ignored.setConnectTimeoutMillis 在接口中 ChannelConfigconnectTimeoutMillis - the connect timeout in milliseconds.
0 to disable.SocketChannelConfig setMaxMessagesPerRead(int maxMessagesPerRead)
ChannelConfigsetMaxMessagesPerRead 在接口中 ChannelConfigSocketChannelConfig setWriteSpinCount(int writeSpinCount)
ChannelConfigWritableByteChannel.write(ByteBuffer) returns a non-zero value.
It is similar to what a spin lock is used for in concurrency programming.
It improves memory utilization and write throughput depending on
the platform that JVM runs on. The default value is 16.setWriteSpinCount 在接口中 ChannelConfigSocketChannelConfig setAllocator(ByteBufAllocator allocator)
ChannelConfigByteBufAllocator which is used for the channel
to allocate buffers.setAllocator 在接口中 ChannelConfigSocketChannelConfig setRecvByteBufAllocator(RecvByteBufAllocator allocator)
ChannelConfigByteBufAllocator which is used for the channel
to allocate receive buffers.setRecvByteBufAllocator 在接口中 ChannelConfigSocketChannelConfig setAutoRead(boolean autoRead)
ChannelConfigChannelHandlerContext.read() will be invoked automatically so that a user application doesn't
need to call it at all. The default value is true.setAutoRead 在接口中 ChannelConfigSocketChannelConfig setAutoClose(boolean autoClose)
setAutoClose 在接口中 ChannelConfigSocketChannelConfig setMessageSizeEstimator(MessageSizeEstimator estimator)
ChannelConfigMessageSizeEstimator which is used for the channel
to detect the size of a message.setMessageSizeEstimator 在接口中 ChannelConfig