@UnstableApi public final class KQueueSocketChannelConfig extends KQueueChannelConfig implements SocketChannelConfig
channel| 限定符和类型 | 方法和说明 |
|---|---|
<T> T |
getOption(ChannelOption<T> option)
Return the value of the given
ChannelOption |
java.util.Map<ChannelOption<?>,java.lang.Object> |
getOptions()
Return all set
ChannelOption's. |
int |
getReceiveBufferSize()
Gets the
StandardSocketOptions.SO_RCVBUF option. |
int |
getSendBufferSize()
Gets the
StandardSocketOptions.SO_SNDBUF option. |
int |
getSndLowAt() |
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 |
isTcpFastOpenConnect()
Returns
true if TCP fast open is enabled, false otherwise. |
boolean |
isTcpNoDelay()
Gets the
StandardSocketOptions.TCP_NODELAY option. |
boolean |
isTcpNoPush() |
KQueueSocketChannelConfig |
setAllocator(ByteBufAllocator allocator)
Set the
ByteBufAllocator which is used for the channel
to allocate buffers. |
KQueueSocketChannelConfig |
setAllowHalfClosure(boolean allowHalfClosure)
Sets whether the channel should not close itself when its remote peer shuts down output to
make the connection half-closed.
|
KQueueSocketChannelConfig |
setAutoClose(boolean autoClose)
Sets whether the
Channel should be closed automatically and immediately on write failure. |
KQueueSocketChannelConfig |
setAutoRead(boolean autoRead)
Sets if
ChannelHandlerContext.read() will be invoked automatically so that a user application doesn't
need to call it at all. |
KQueueSocketChannelConfig |
setConnectTimeoutMillis(int connectTimeoutMillis)
Sets the connect timeout of the channel in milliseconds.
|
KQueueSocketChannelConfig |
setKeepAlive(boolean keepAlive)
Sets the
StandardSocketOptions.SO_KEEPALIVE option. |
KQueueSocketChannelConfig |
setMaxMessagesPerRead(int maxMessagesPerRead)
已过时。
|
KQueueSocketChannelConfig |
setMessageSizeEstimator(MessageSizeEstimator estimator)
Set the
MessageSizeEstimator which is used for the channel
to detect the size of a message. |
<T> boolean |
setOption(ChannelOption<T> option,
T value)
Sets a configuration property with the specified name and value.
|
KQueueSocketChannelConfig |
setPerformancePreferences(int connectionTime,
int latency,
int bandwidth)
Sets the performance preferences as specified in
Socket.setPerformancePreferences(int, int, int). |
KQueueSocketChannelConfig |
setRcvAllocTransportProvidesGuess(boolean transportProvidesGuess)
If this is
true then the RecvByteBufAllocator.Handle#guess() will be overridden to always attempt
to read as many bytes as kqueue says are available. |
KQueueSocketChannelConfig |
setReceiveBufferSize(int receiveBufferSize)
Sets the
StandardSocketOptions.SO_RCVBUF option. |
KQueueSocketChannelConfig |
setRecvByteBufAllocator(RecvByteBufAllocator allocator)
Set the
RecvByteBufAllocator which is used for the channel to allocate receive buffers. |
KQueueSocketChannelConfig |
setReuseAddress(boolean reuseAddress)
Sets the
StandardSocketOptions.SO_REUSEADDR option. |
KQueueSocketChannelConfig |
setSendBufferSize(int sendBufferSize)
Sets the
StandardSocketOptions.SO_SNDBUF option. |
void |
setSndLowAt(int sndLowAt) |
KQueueSocketChannelConfig |
setSoLinger(int soLinger)
Sets the
StandardSocketOptions.SO_LINGER option. |
KQueueSocketChannelConfig |
setTcpFastOpenConnect(boolean fastOpenConnect)
Enables client TCP fast open, if available.
|
KQueueSocketChannelConfig |
setTcpNoDelay(boolean tcpNoDelay)
Sets the
StandardSocketOptions.TCP_NODELAY option. |
void |
setTcpNoPush(boolean tcpNoPush) |
KQueueSocketChannelConfig |
setTrafficClass(int trafficClass)
Sets the
StandardSocketOptions.IP_TOS option. |
KQueueSocketChannelConfig |
setWriteBufferHighWaterMark(int writeBufferHighWaterMark)
已过时。
|
KQueueSocketChannelConfig |
setWriteBufferLowWaterMark(int writeBufferLowWaterMark)
已过时。
|
KQueueSocketChannelConfig |
setWriteBufferWaterMark(WriteBufferWaterMark writeBufferWaterMark)
Set the
WriteBufferWaterMark which is used for setting the high and low
water mark of the write buffer. |
KQueueSocketChannelConfig |
setWriteSpinCount(int writeSpinCount)
Sets the maximum loop count for a write operation until
WritableByteChannel.write(ByteBuffer) returns a non-zero value. |
autoReadCleared, getRcvAllocTransportProvidesGuessgetAllocator, getConnectTimeoutMillis, getMaxMessagesPerRead, getMaxMessagesPerWrite, getMessageSizeEstimator, getOptions, getRecvByteBufAllocator, getWriteBufferHighWaterMark, getWriteBufferLowWaterMark, getWriteBufferWaterMark, getWriteSpinCount, isAutoClose, isAutoRead, setMaxMessagesPerWrite, setOptions, validatepublic java.util.Map<ChannelOption<?>,java.lang.Object> getOptions()
ChannelConfigChannelOption's.getOptions 在接口中 ChannelConfiggetOptions 在类中 KQueueChannelConfigpublic <T> T getOption(ChannelOption<T> option)
ChannelConfigChannelOptiongetOption 在接口中 ChannelConfiggetOption 在类中 KQueueChannelConfigpublic <T> boolean setOption(ChannelOption<T> option, T value)
ChannelConfig
public boolean setOption(ChannelOption<T> option, T value) {
if (super.setOption(option, value)) {
return true;
}
if (option.equals(additionalOption)) {
....
return true;
}
return false;
}
setOption 在接口中 ChannelConfigsetOption 在类中 KQueueChannelConfigtrue if and only if the property has been setpublic int getReceiveBufferSize()
SocketChannelConfigStandardSocketOptions.SO_RCVBUF option.getReceiveBufferSize 在接口中 SocketChannelConfigpublic int getSendBufferSize()
SocketChannelConfigStandardSocketOptions.SO_SNDBUF option.getSendBufferSize 在接口中 SocketChannelConfigpublic int getSoLinger()
SocketChannelConfigStandardSocketOptions.SO_LINGER option.getSoLinger 在接口中 SocketChannelConfigpublic int getTrafficClass()
SocketChannelConfigStandardSocketOptions.IP_TOS option.getTrafficClass 在接口中 SocketChannelConfigpublic boolean isKeepAlive()
SocketChannelConfigStandardSocketOptions.SO_KEEPALIVE option.isKeepAlive 在接口中 SocketChannelConfigpublic boolean isReuseAddress()
SocketChannelConfigStandardSocketOptions.SO_REUSEADDR option.isReuseAddress 在接口中 SocketChannelConfigpublic boolean isTcpNoDelay()
SocketChannelConfigStandardSocketOptions.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.isTcpNoDelay 在接口中 SocketChannelConfigpublic int getSndLowAt()
public void setSndLowAt(int sndLowAt)
public boolean isTcpNoPush()
public void setTcpNoPush(boolean tcpNoPush)
public KQueueSocketChannelConfig setKeepAlive(boolean keepAlive)
SocketChannelConfigStandardSocketOptions.SO_KEEPALIVE option.setKeepAlive 在接口中 SocketChannelConfigpublic KQueueSocketChannelConfig setReceiveBufferSize(int receiveBufferSize)
SocketChannelConfigStandardSocketOptions.SO_RCVBUF option.setReceiveBufferSize 在接口中 SocketChannelConfigpublic KQueueSocketChannelConfig setReuseAddress(boolean reuseAddress)
SocketChannelConfigStandardSocketOptions.SO_REUSEADDR option.setReuseAddress 在接口中 SocketChannelConfigpublic KQueueSocketChannelConfig setSendBufferSize(int sendBufferSize)
SocketChannelConfigStandardSocketOptions.SO_SNDBUF option.setSendBufferSize 在接口中 SocketChannelConfigpublic KQueueSocketChannelConfig setSoLinger(int soLinger)
SocketChannelConfigStandardSocketOptions.SO_LINGER option.setSoLinger 在接口中 SocketChannelConfigpublic KQueueSocketChannelConfig setTcpNoDelay(boolean tcpNoDelay)
SocketChannelConfigStandardSocketOptions.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.setTcpNoDelay 在接口中 SocketChannelConfigpublic KQueueSocketChannelConfig setTrafficClass(int trafficClass)
SocketChannelConfigStandardSocketOptions.IP_TOS option.setTrafficClass 在接口中 SocketChannelConfigpublic boolean isAllowHalfClosure()
DuplexChannelConfigtrue 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.isAllowHalfClosure 在接口中 DuplexChannelConfigpublic KQueueSocketChannelConfig setTcpFastOpenConnect(boolean fastOpenConnect)
public boolean isTcpFastOpenConnect()
true if TCP fast open is enabled, false otherwise.public KQueueSocketChannelConfig setRcvAllocTransportProvidesGuess(boolean transportProvidesGuess)
KQueueChannelConfigtrue then the RecvByteBufAllocator.Handle#guess() will be overridden to always attempt
to read as many bytes as kqueue says are available.public KQueueSocketChannelConfig setPerformancePreferences(int connectionTime, int latency, int bandwidth)
SocketChannelConfigSocket.setPerformancePreferences(int, int, int).setPerformancePreferences 在接口中 SocketChannelConfigpublic KQueueSocketChannelConfig setAllowHalfClosure(boolean allowHalfClosure)
DuplexChannelConfigtrue 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.setAllowHalfClosure 在接口中 DuplexChannelConfigsetAllowHalfClosure 在接口中 SocketChannelConfigpublic KQueueSocketChannelConfig setConnectTimeoutMillis(int connectTimeoutMillis)
ChannelConfigChannel does not support connect operation, this property is not
used at all, and therefore will be ignored.setConnectTimeoutMillis 在接口中 ChannelConfigsetConnectTimeoutMillis 在接口中 SocketChannelConfigsetConnectTimeoutMillis 在类中 KQueueChannelConfigconnectTimeoutMillis - the connect timeout in milliseconds.
0 to disable.@Deprecated public KQueueSocketChannelConfig setMaxMessagesPerRead(int maxMessagesPerRead)
DefaultChannelConfigsetMaxMessagesPerRead 在接口中 ChannelConfigsetMaxMessagesPerRead 在接口中 DuplexChannelConfigsetMaxMessagesPerRead 在接口中 SocketChannelConfigsetMaxMessagesPerRead 在类中 KQueueChannelConfigpublic KQueueSocketChannelConfig 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 在接口中 ChannelConfigsetWriteSpinCount 在接口中 DuplexChannelConfigsetWriteSpinCount 在接口中 SocketChannelConfigsetWriteSpinCount 在类中 KQueueChannelConfigpublic KQueueSocketChannelConfig setAllocator(ByteBufAllocator allocator)
ChannelConfigByteBufAllocator which is used for the channel
to allocate buffers.setAllocator 在接口中 ChannelConfigsetAllocator 在接口中 DuplexChannelConfigsetAllocator 在接口中 SocketChannelConfigsetAllocator 在类中 KQueueChannelConfigpublic KQueueSocketChannelConfig setRecvByteBufAllocator(RecvByteBufAllocator allocator)
ChannelConfigRecvByteBufAllocator which is used for the channel to allocate receive buffers.setRecvByteBufAllocator 在接口中 ChannelConfigsetRecvByteBufAllocator 在接口中 DuplexChannelConfigsetRecvByteBufAllocator 在接口中 SocketChannelConfigsetRecvByteBufAllocator 在类中 KQueueChannelConfigpublic KQueueSocketChannelConfig 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 在接口中 ChannelConfigsetAutoRead 在接口中 DuplexChannelConfigsetAutoRead 在接口中 SocketChannelConfigsetAutoRead 在类中 KQueueChannelConfigpublic KQueueSocketChannelConfig setAutoClose(boolean autoClose)
ChannelConfigChannel should be closed automatically and immediately on write failure.
The default is true.setAutoClose 在接口中 ChannelConfigsetAutoClose 在接口中 DuplexChannelConfigsetAutoClose 在接口中 SocketChannelConfigsetAutoClose 在类中 DefaultChannelConfig@Deprecated public KQueueSocketChannelConfig setWriteBufferHighWaterMark(int writeBufferHighWaterMark)
ChannelConfig
Sets the high water mark of the write buffer. If the number of bytes
queued in the write buffer exceeds this value, Channel.isWritable()
will start to return false.
@Deprecated public KQueueSocketChannelConfig setWriteBufferLowWaterMark(int writeBufferLowWaterMark)
ChannelConfig
Sets the low water mark of the write buffer. Once the number of bytes
queued in the write buffer exceeded the
high water mark and then
dropped down below this value, Channel.isWritable() will start to return
true again.
setWriteBufferLowWaterMark 在接口中 ChannelConfigsetWriteBufferLowWaterMark 在类中 KQueueChannelConfigpublic KQueueSocketChannelConfig setWriteBufferWaterMark(WriteBufferWaterMark writeBufferWaterMark)
ChannelConfigWriteBufferWaterMark which is used for setting the high and low
water mark of the write buffer.setWriteBufferWaterMark 在接口中 ChannelConfigsetWriteBufferWaterMark 在接口中 DuplexChannelConfigsetWriteBufferWaterMark 在接口中 SocketChannelConfigsetWriteBufferWaterMark 在类中 KQueueChannelConfigpublic KQueueSocketChannelConfig setMessageSizeEstimator(MessageSizeEstimator estimator)
ChannelConfigMessageSizeEstimator which is used for the channel
to detect the size of a message.setMessageSizeEstimator 在接口中 ChannelConfigsetMessageSizeEstimator 在接口中 DuplexChannelConfigsetMessageSizeEstimator 在接口中 SocketChannelConfigsetMessageSizeEstimator 在类中 KQueueChannelConfig