@UnstableApi public final class KQueueSocketChannelConfig extends KQueueChannelConfig implements SocketChannelConfig
Modifier and Type | Method and Description |
---|---|
<T> T |
getOption(ChannelOption<T> option)
返回给定 ChannelOption 的值
|
java.util.Map<ChannelOption<?>,java.lang.Object> |
getOptions()
返回所有设置 ChannelOption 的。
|
int |
getReceiveBufferSize()
获取
StandardSocketOptions.SO_RCVBUF 选项。
|
int |
getSendBufferSize()
获取
StandardSocketOptions.SO_SNDBUF 选项。
|
int |
getSndLowAt() |
int |
getSoLinger()
获取
StandardSocketOptions.SO_LINGER 选项。
|
int |
getTrafficClass()
获取
StandardSocketOptions.IP_TOS 选项。
|
boolean |
isAllowHalfClosure()
返回
true 当且仅当其远程对等关闭输出以使连接半闭时,通道不应关闭。
|
boolean |
isKeepAlive()
获取
StandardSocketOptions.SO_KEEPALIVE 选项。
|
boolean |
isReuseAddress()
获取
StandardSocketOptions.SO_REUSEADDR 选项。
|
boolean |
isTcpNoDelay()
获取
StandardSocketOptions.TCP_NODELAY 选项。
|
boolean |
isTcpNoPush() |
KQueueSocketChannelConfig |
setAllocator(ByteBufAllocator allocator)
设置用于通道分配缓冲区的 ByteBufAllocator 。
|
KQueueSocketChannelConfig |
setAllowHalfClosure(boolean allowHalfClosure)
设置当远程对等关闭输出以使连接半关闭时,通道是否应该关闭。
|
KQueueSocketChannelConfig |
setAutoClose(boolean autoClose) |
KQueueSocketChannelConfig |
setAutoRead(boolean autoRead)
设置是否自动调用
ChannelHandlerContext.read() ,以便用户应用程序根本不需要调用它。
|
KQueueSocketChannelConfig |
setConnectTimeoutMillis(int connectTimeoutMillis)
以毫秒为单位设置通道的连接超时。
|
KQueueSocketChannelConfig |
setKeepAlive(boolean keepAlive)
设置
StandardSocketOptions.SO_KEEPALIVE 选项。
|
KQueueSocketChannelConfig |
setMaxMessagesPerRead(int maxMessagesPerRead)
已过时。
|
KQueueSocketChannelConfig |
setMessageSizeEstimator(MessageSizeEstimator estimator)
设置用于通道的 MessageSizeEstimator 以检测消息的大小。
|
<T> boolean |
setOption(ChannelOption<T> option, T value)
使用指定的名称和值设置配置属性。
|
KQueueSocketChannelConfig |
setPerformancePreferences(int connectionTime, int latency, int bandwidth)
设置
Socket.setPerformancePreferences(int, int, int) 指定的性能首选项。
|
KQueueSocketChannelConfig |
setRcvAllocTransportProvidesGuess(boolean transportProvidesGuess)
如果这是
true 那么
RecvByteBufAllocator.Handle#guess() 将被覆盖,以总是尝试读取kqueue所说的可用字节数。
|
KQueueSocketChannelConfig |
setReceiveBufferSize(int receiveBufferSize)
设置
StandardSocketOptions.SO_RCVBUF 选项。
|
KQueueSocketChannelConfig |
setRecvByteBufAllocator(RecvByteBufAllocator allocator)
设置用于通道的 RecvByteBufAllocator 分配接收缓冲区。
|
KQueueSocketChannelConfig |
setReuseAddress(boolean reuseAddress)
设置
StandardSocketOptions.SO_REUSEADDR 选项。
|
KQueueSocketChannelConfig |
setSendBufferSize(int sendBufferSize)
设置
StandardSocketOptions.SO_SNDBUF 选项。
|
void |
setSndLowAt(int sndLowAt) |
KQueueSocketChannelConfig |
setSoLinger(int soLinger)
设置
StandardSocketOptions.SO_LINGER 选项。
|
KQueueSocketChannelConfig |
setTcpNoDelay(boolean tcpNoDelay)
设置
StandardSocketOptions.TCP_NODELAY 选项。
|
void |
setTcpNoPush(boolean tcpNoPush) |
KQueueSocketChannelConfig |
setTrafficClass(int trafficClass)
设置
StandardSocketOptions.IP_TOS 选项。
|
KQueueSocketChannelConfig |
setWriteBufferHighWaterMark(int writeBufferHighWaterMark)
已过时。
|
KQueueSocketChannelConfig |
setWriteBufferLowWaterMark(int writeBufferLowWaterMark)
已过时。
|
KQueueSocketChannelConfig |
setWriteBufferWaterMark(WriteBufferWaterMark writeBufferWaterMark)
设置 WriteBufferWaterMark 用于设置写入缓冲区的高位和低位水印。
|
KQueueSocketChannelConfig |
setWriteSpinCount(int writeSpinCount)
设置写入操作的最大循环计数,直到
WritableByteChannel.write(ByteBuffer) 返回非零值。
|
autoReadCleared, getRcvAllocTransportProvidesGuess
getAllocator, getConnectTimeoutMillis, getMaxMessagesPerRead, getMessageSizeEstimator, getOptions, getRecvByteBufAllocator, getWriteBufferHighWaterMark, getWriteBufferLowWaterMark, getWriteBufferWaterMark, getWriteSpinCount, isAutoClose, isAutoRead, setOptions, validate
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAllocator, getConnectTimeoutMillis, getMaxMessagesPerRead, getMessageSizeEstimator, getRecvByteBufAllocator, getWriteBufferHighWaterMark, getWriteBufferLowWaterMark, getWriteBufferWaterMark, getWriteSpinCount, isAutoClose, isAutoRead, setOptions
public java.util.Map<ChannelOption<?>,java.lang.Object> getOptions()
ChannelConfig
ChannelOption
的。
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
当且仅当该属性已设置
public int getReceiveBufferSize()
SocketChannelConfig
StandardSocketOptions.SO_RCVBUF
选项。
getReceiveBufferSize
在界面
SocketChannelConfig
public int getSendBufferSize()
SocketChannelConfig
StandardSocketOptions.SO_SNDBUF
选项。
getSendBufferSize
,界面
SocketChannelConfig
public int getSoLinger()
SocketChannelConfig
StandardSocketOptions.SO_LINGER
选项。
getSoLinger
接口
SocketChannelConfig
public int getTrafficClass()
SocketChannelConfig
StandardSocketOptions.IP_TOS
选项。
getTrafficClass
接口
SocketChannelConfig
public boolean isKeepAlive()
SocketChannelConfig
StandardSocketOptions.SO_KEEPALIVE
选项。
isKeepAlive
接口
SocketChannelConfig
public boolean isReuseAddress()
SocketChannelConfig
StandardSocketOptions.SO_REUSEADDR
选项。
isReuseAddress
在界面
SocketChannelConfig
public boolean isTcpNoDelay()
SocketChannelConfig
StandardSocketOptions.TCP_NODELAY
选项。
请注意,这个选项的默认值是true
不同于操作系统默认( false
)。
但是,对于一些有问题的平台(如Android),在Nagle算法禁用的情况下显示不稳定的行为,默认值为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
选项。
setKeepAlive
,界面
SocketChannelConfig
public KQueueSocketChannelConfig setReceiveBufferSize(int receiveBufferSize)
SocketChannelConfig
StandardSocketOptions.SO_RCVBUF
选项。
setReceiveBufferSize
接口
SocketChannelConfig
public KQueueSocketChannelConfig setReuseAddress(boolean reuseAddress)
SocketChannelConfig
StandardSocketOptions.SO_REUSEADDR
选项。
setReuseAddress
,界面
SocketChannelConfig
public KQueueSocketChannelConfig setSendBufferSize(int sendBufferSize)
SocketChannelConfig
StandardSocketOptions.SO_SNDBUF
选项。
setSendBufferSize
,界面
SocketChannelConfig
public KQueueSocketChannelConfig setSoLinger(int soLinger)
SocketChannelConfig
StandardSocketOptions.SO_LINGER
选项。
setSoLinger
在界面
SocketChannelConfig
public KQueueSocketChannelConfig setTcpNoDelay(boolean tcpNoDelay)
SocketChannelConfig
StandardSocketOptions.TCP_NODELAY
选项。
请注意,这个选项的默认值是true
不同于操作系统默认( false
)。
但是,对于一些有问题的平台,例如Android,在Nagle算法禁用的情况下显示不稳定的行为,默认值仍为false
。
setTcpNoDelay
,界面
SocketChannelConfig
public KQueueSocketChannelConfig setTrafficClass(int trafficClass)
SocketChannelConfig
StandardSocketOptions.IP_TOS
选项。
setTrafficClass
在界面
SocketChannelConfig
public boolean isAllowHalfClosure()
SocketChannelConfig
复制的描述
true
当且仅当其远程对等关闭输出以使连接半闭时,通道不应关闭。
如果false
,远程对等关闭输出时,连接会自动关闭。
isAllowHalfClosure
接口
SocketChannelConfig
public KQueueSocketChannelConfig setRcvAllocTransportProvidesGuess(boolean transportProvidesGuess)
KQueueChannelConfig
true
那么
RecvByteBufAllocator.Handle#guess()
将被重写,以总是尝试读取kqueue所说的可用字节数。
public KQueueSocketChannelConfig setPerformancePreferences(int connectionTime, int latency, int bandwidth)
SocketChannelConfig
Socket.setPerformancePreferences(int, int, int)
指定的性能首选项。
setPerformancePreferences
,界面
SocketChannelConfig
public KQueueSocketChannelConfig setAllowHalfClosure(boolean allowHalfClosure)
SocketChannelConfig
复制的描述
true
远程对等关闭输出时连接未关闭。
相反, ChannelInboundHandler.userEventTriggered(ChannelHandlerContext, Object)
与ChannelInputShutdownEvent
对象一起调用。
如果false
,连接自动关闭。
setAllowHalfClosure
在界面
SocketChannelConfig
public KQueueSocketChannelConfig setConnectTimeoutMillis(int connectTimeoutMillis)
ChannelConfig
复制的描述
Channel
不支持连接操作,则根本不使用此属性,因此将被忽略。
setConnectTimeoutMillis
在界面
ChannelConfig
setConnectTimeoutMillis
在界面
SocketChannelConfig
setConnectTimeoutMillis
在班级
KQueueChannelConfig
connectTimeoutMillis
- 以毫秒为单位的连接超时。
0
禁用。
@Deprecated public KQueueSocketChannelConfig setMaxMessagesPerRead(int maxMessagesPerRead)
DefaultChannelConfig
setMaxMessagesPerRead
在界面
ChannelConfig
setMaxMessagesPerRead
在界面
SocketChannelConfig
setMaxMessagesPerRead
在班
KQueueChannelConfig
public KQueueSocketChannelConfig setWriteSpinCount(int writeSpinCount)
ChannelConfig
WritableByteChannel.write(ByteBuffer)
返回非零值。
它类似于在并发编程中使用自旋锁。
它可以提高内存利用率并根据运行JVM的平台来编写吞吐量。
默认值是16
。
setWriteSpinCount
接口
ChannelConfig
setWriteSpinCount
在界面
SocketChannelConfig
setWriteSpinCount
在课堂
KQueueChannelConfig
public KQueueSocketChannelConfig setAllocator(ByteBufAllocator allocator)
ChannelConfig
ByteBufAllocator
。
setAllocator
在界面
ChannelConfig
setAllocator
,界面
SocketChannelConfig
setAllocator
类
KQueueChannelConfig
public KQueueSocketChannelConfig setRecvByteBufAllocator(RecvByteBufAllocator allocator)
ChannelConfig
RecvByteBufAllocator
。
setRecvByteBufAllocator
在界面
ChannelConfig
setRecvByteBufAllocator
在界面
SocketChannelConfig
setRecvByteBufAllocator
在课堂
KQueueChannelConfig
public KQueueSocketChannelConfig setAutoRead(boolean autoRead)
ChannelConfig
ChannelHandlerContext.read()
,以便用户应用程序根本不需要调用它。
默认值是true
。
setAutoRead
接口
ChannelConfig
setAutoRead
在界面
SocketChannelConfig
setAutoRead
在课堂
KQueueChannelConfig
public KQueueSocketChannelConfig setAutoClose(boolean autoClose)
setAutoClose
接口
ChannelConfig
setAutoClose
接口
SocketChannelConfig
setAutoClose
class
DefaultChannelConfig
@Deprecated public KQueueSocketChannelConfig setWriteBufferHighWaterMark(int writeBufferHighWaterMark)
ChannelConfig
设置写入缓冲区的高位标记。 如果写缓冲区中排队的字节数超过此值,则Channel.isWritable()
将开始返回false
。
setWriteBufferHighWaterMark
,界面
ChannelConfig
setWriteBufferHighWaterMark
在课堂
KQueueChannelConfig
@Deprecated public KQueueSocketChannelConfig setWriteBufferLowWaterMark(int writeBufferLowWaterMark)
ChannelConfig
复制的描述
设置写入缓冲区的低水位标志。 一旦写入缓冲区中排队的字节数超过high water mark ,然后下降到此值以下,则Channel.isWritable()
将再次开始返回true
。
setWriteBufferLowWaterMark
,界面
ChannelConfig
setWriteBufferLowWaterMark
在课堂
KQueueChannelConfig
public KQueueSocketChannelConfig setWriteBufferWaterMark(WriteBufferWaterMark writeBufferWaterMark)
ChannelConfig
WriteBufferWaterMark
,用于设置写入缓冲区的高位和低位水印。
setWriteBufferWaterMark
在界面
ChannelConfig
setWriteBufferWaterMark
,界面
SocketChannelConfig
setWriteBufferWaterMark
在课堂
KQueueChannelConfig
public KQueueSocketChannelConfig setMessageSizeEstimator(MessageSizeEstimator estimator)
ChannelConfig
MessageSizeEstimator
以检测消息的大小。
setMessageSizeEstimator
在界面
ChannelConfig
setMessageSizeEstimator
在界面
SocketChannelConfig
setMessageSizeEstimator
在课堂
KQueueChannelConfig
Copyright © 2008–2018 The Netty Project. All rights reserved.