@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, getRcvAllocTransportProvidesGuess
getAllocator, getConnectTimeoutMillis, getMaxMessagesPerRead, getMaxMessagesPerWrite, getMessageSizeEstimator, getOptions, getRecvByteBufAllocator, getWriteBufferHighWaterMark, getWriteBufferLowWaterMark, getWriteBufferWaterMark, getWriteSpinCount, isAutoClose, isAutoRead, setMaxMessagesPerWrite, setOptions, validate
public java.util.Map<ChannelOption<?>,java.lang.Object> getOptions()
ChannelConfig
ChannelOption
's.getOptions
在接口中 ChannelConfig
getOptions
在类中 KQueueChannelConfig
public <T> T getOption(ChannelOption<T> option)
ChannelConfig
ChannelOption
getOption
在接口中 ChannelConfig
getOption
在类中 KQueueChannelConfig
public <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
在接口中 ChannelConfig
setOption
在类中 KQueueChannelConfig
true
if and only if the property has been setpublic int getReceiveBufferSize()
SocketChannelConfig
StandardSocketOptions.SO_RCVBUF
option.getReceiveBufferSize
在接口中 SocketChannelConfig
public int getSendBufferSize()
SocketChannelConfig
StandardSocketOptions.SO_SNDBUF
option.getSendBufferSize
在接口中 SocketChannelConfig
public int getSoLinger()
SocketChannelConfig
StandardSocketOptions.SO_LINGER
option.getSoLinger
在接口中 SocketChannelConfig
public int getTrafficClass()
SocketChannelConfig
StandardSocketOptions.IP_TOS
option.getTrafficClass
在接口中 SocketChannelConfig
public boolean isKeepAlive()
SocketChannelConfig
StandardSocketOptions.SO_KEEPALIVE
option.isKeepAlive
在接口中 SocketChannelConfig
public boolean isReuseAddress()
SocketChannelConfig
StandardSocketOptions.SO_REUSEADDR
option.isReuseAddress
在接口中 SocketChannelConfig
public boolean isTcpNoDelay()
SocketChannelConfig
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
.isTcpNoDelay
在接口中 SocketChannelConfig
public int getSndLowAt()
public void setSndLowAt(int sndLowAt)
public boolean isTcpNoPush()
public void setTcpNoPush(boolean tcpNoPush)
public KQueueSocketChannelConfig setKeepAlive(boolean keepAlive)
SocketChannelConfig
StandardSocketOptions.SO_KEEPALIVE
option.setKeepAlive
在接口中 SocketChannelConfig
public KQueueSocketChannelConfig setReceiveBufferSize(int receiveBufferSize)
SocketChannelConfig
StandardSocketOptions.SO_RCVBUF
option.setReceiveBufferSize
在接口中 SocketChannelConfig
public KQueueSocketChannelConfig setReuseAddress(boolean reuseAddress)
SocketChannelConfig
StandardSocketOptions.SO_REUSEADDR
option.setReuseAddress
在接口中 SocketChannelConfig
public KQueueSocketChannelConfig setSendBufferSize(int sendBufferSize)
SocketChannelConfig
StandardSocketOptions.SO_SNDBUF
option.setSendBufferSize
在接口中 SocketChannelConfig
public KQueueSocketChannelConfig setSoLinger(int soLinger)
SocketChannelConfig
StandardSocketOptions.SO_LINGER
option.setSoLinger
在接口中 SocketChannelConfig
public KQueueSocketChannelConfig setTcpNoDelay(boolean tcpNoDelay)
SocketChannelConfig
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
.setTcpNoDelay
在接口中 SocketChannelConfig
public KQueueSocketChannelConfig setTrafficClass(int trafficClass)
SocketChannelConfig
StandardSocketOptions.IP_TOS
option.setTrafficClass
在接口中 SocketChannelConfig
public boolean isAllowHalfClosure()
DuplexChannelConfig
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.isAllowHalfClosure
在接口中 DuplexChannelConfig
public KQueueSocketChannelConfig setTcpFastOpenConnect(boolean fastOpenConnect)
public boolean isTcpFastOpenConnect()
true
if TCP fast open is enabled, false
otherwise.public KQueueSocketChannelConfig setRcvAllocTransportProvidesGuess(boolean transportProvidesGuess)
KQueueChannelConfig
true
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)
SocketChannelConfig
Socket.setPerformancePreferences(int, int, int)
.setPerformancePreferences
在接口中 SocketChannelConfig
public KQueueSocketChannelConfig setAllowHalfClosure(boolean allowHalfClosure)
DuplexChannelConfig
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.setAllowHalfClosure
在接口中 DuplexChannelConfig
setAllowHalfClosure
在接口中 SocketChannelConfig
public KQueueSocketChannelConfig setConnectTimeoutMillis(int connectTimeoutMillis)
ChannelConfig
Channel
does not support connect operation, this property is not
used at all, and therefore will be ignored.setConnectTimeoutMillis
在接口中 ChannelConfig
setConnectTimeoutMillis
在接口中 SocketChannelConfig
setConnectTimeoutMillis
在类中 KQueueChannelConfig
connectTimeoutMillis
- the connect timeout in milliseconds.
0
to disable.@Deprecated public KQueueSocketChannelConfig setMaxMessagesPerRead(int maxMessagesPerRead)
DefaultChannelConfig
setMaxMessagesPerRead
在接口中 ChannelConfig
setMaxMessagesPerRead
在接口中 DuplexChannelConfig
setMaxMessagesPerRead
在接口中 SocketChannelConfig
setMaxMessagesPerRead
在类中 KQueueChannelConfig
public KQueueSocketChannelConfig setWriteSpinCount(int writeSpinCount)
ChannelConfig
WritableByteChannel.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
在接口中 ChannelConfig
setWriteSpinCount
在接口中 DuplexChannelConfig
setWriteSpinCount
在接口中 SocketChannelConfig
setWriteSpinCount
在类中 KQueueChannelConfig
public KQueueSocketChannelConfig setAllocator(ByteBufAllocator allocator)
ChannelConfig
ByteBufAllocator
which is used for the channel
to allocate buffers.setAllocator
在接口中 ChannelConfig
setAllocator
在接口中 DuplexChannelConfig
setAllocator
在接口中 SocketChannelConfig
setAllocator
在类中 KQueueChannelConfig
public KQueueSocketChannelConfig setRecvByteBufAllocator(RecvByteBufAllocator allocator)
ChannelConfig
RecvByteBufAllocator
which is used for the channel to allocate receive buffers.setRecvByteBufAllocator
在接口中 ChannelConfig
setRecvByteBufAllocator
在接口中 DuplexChannelConfig
setRecvByteBufAllocator
在接口中 SocketChannelConfig
setRecvByteBufAllocator
在类中 KQueueChannelConfig
public KQueueSocketChannelConfig setAutoRead(boolean autoRead)
ChannelConfig
ChannelHandlerContext.read()
will be invoked automatically so that a user application doesn't
need to call it at all. The default value is true
.setAutoRead
在接口中 ChannelConfig
setAutoRead
在接口中 DuplexChannelConfig
setAutoRead
在接口中 SocketChannelConfig
setAutoRead
在类中 KQueueChannelConfig
public KQueueSocketChannelConfig setAutoClose(boolean autoClose)
ChannelConfig
Channel
should be closed automatically and immediately on write failure.
The default is true
.setAutoClose
在接口中 ChannelConfig
setAutoClose
在接口中 DuplexChannelConfig
setAutoClose
在接口中 SocketChannelConfig
setAutoClose
在类中 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
在接口中 ChannelConfig
setWriteBufferLowWaterMark
在类中 KQueueChannelConfig
public KQueueSocketChannelConfig setWriteBufferWaterMark(WriteBufferWaterMark writeBufferWaterMark)
ChannelConfig
WriteBufferWaterMark
which is used for setting the high and low
water mark of the write buffer.setWriteBufferWaterMark
在接口中 ChannelConfig
setWriteBufferWaterMark
在接口中 DuplexChannelConfig
setWriteBufferWaterMark
在接口中 SocketChannelConfig
setWriteBufferWaterMark
在类中 KQueueChannelConfig
public KQueueSocketChannelConfig setMessageSizeEstimator(MessageSizeEstimator estimator)
ChannelConfig
MessageSizeEstimator
which is used for the channel
to detect the size of a message.setMessageSizeEstimator
在接口中 ChannelConfig
setMessageSizeEstimator
在接口中 DuplexChannelConfig
setMessageSizeEstimator
在接口中 SocketChannelConfig
setMessageSizeEstimator
在类中 KQueueChannelConfig