public final class EpollSocketChannelConfig extends EpollChannelConfig 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 |
getSoLinger()
获取
StandardSocketOptions.SO_LINGER 选项。
|
int |
getTcpKeepCnt()
获取套接字上的
TCP_KEEPCNT 选项。
|
int |
getTcpKeepIdle()
获取套接字上的
TCP_KEEPIDLE 选项。
|
int |
getTcpKeepIntvl()
获取套接字上的
TCP_KEEPINTVL 选项。
|
long |
getTcpNotSentLowAt()
获取套接字上的
TCP_NOTSENT_LOWAT 选项。
|
int |
getTcpUserTimeout()
获取套接字上的
TCP_USER_TIMEOUT 选项。
|
int |
getTrafficClass()
获取
StandardSocketOptions.IP_TOS 选项。
|
boolean |
isAllowHalfClosure()
返回
true 当且仅当该远程对等关闭输出以使连接半闭时,通道不应该关闭。
|
boolean |
isIpTransparent()
|
boolean |
isKeepAlive()
获取
StandardSocketOptions.SO_KEEPALIVE 选项。
|
boolean |
isReuseAddress()
获取
StandardSocketOptions.SO_REUSEADDR 选项。
|
boolean |
isTcpCork()
获取套接字上的
TCP_CORK 选项。
|
boolean |
isTcpFastOpenConnect()
返回
true 如果
TCP_FASTOPEN_CONNECT 启用,
false 其他。
|
boolean |
isTcpNoDelay()
获取
StandardSocketOptions.TCP_NODELAY 选项。
|
boolean |
isTcpQuickAck()
|
EpollSocketChannelConfig |
setAllocator(ByteBufAllocator allocator)
设置用于通道分配缓冲区的 ByteBufAllocator 。
|
EpollSocketChannelConfig |
setAllowHalfClosure(boolean allowHalfClosure)
设置当远程对等关闭输出以使连接半关闭时,通道是否应该关闭。
|
EpollSocketChannelConfig |
setAutoClose(boolean autoClose) |
EpollSocketChannelConfig |
setAutoRead(boolean autoRead)
设置是否自动调用
ChannelHandlerContext.read() ,以便用户应用程序根本不需要调用它。
|
EpollSocketChannelConfig |
setConnectTimeoutMillis(int connectTimeoutMillis)
以毫秒为单位设置通道的连接超时。
|
EpollSocketChannelConfig |
setEpollMode(EpollMode mode)
设置使用的 EpollMode 。
|
EpollSocketChannelConfig |
setIpTransparent(boolean transparent)
|
EpollSocketChannelConfig |
setKeepAlive(boolean keepAlive)
设置
StandardSocketOptions.SO_KEEPALIVE 选项。
|
EpollSocketChannelConfig |
setMaxMessagesPerRead(int maxMessagesPerRead)
已过时。
|
EpollSocketChannelConfig |
setMessageSizeEstimator(MessageSizeEstimator estimator)
设置用于通道的 MessageSizeEstimator 以检测消息的大小。
|
<T> boolean |
setOption(ChannelOption<T> option, T value)
使用指定的名称和值设置配置属性。
|
EpollSocketChannelConfig |
setPerformancePreferences(int connectionTime, int latency, int bandwidth)
设置
Socket.setPerformancePreferences(int, int, int) 指定的性能首选项。
|
EpollSocketChannelConfig |
setReceiveBufferSize(int receiveBufferSize)
设置
StandardSocketOptions.SO_RCVBUF 选项。
|
EpollSocketChannelConfig |
setRecvByteBufAllocator(RecvByteBufAllocator allocator)
设置用于通道的 RecvByteBufAllocator 以分配接收缓冲区。
|
EpollSocketChannelConfig |
setReuseAddress(boolean reuseAddress)
设置
StandardSocketOptions.SO_REUSEADDR 选项。
|
EpollSocketChannelConfig |
setSendBufferSize(int sendBufferSize)
设置
StandardSocketOptions.SO_SNDBUF 选项。
|
EpollSocketChannelConfig |
setSoLinger(int soLinger)
设置
StandardSocketOptions.SO_LINGER 选项。
|
EpollSocketChannelConfig |
setTcpCork(boolean tcpCork)
在套接字上设置
TCP_CORK 选项。
|
EpollSocketChannelConfig |
setTcpFastOpenConnect(boolean fastOpenConnect)
在插座上设置
TCP_FASTOPEN_CONNECT 选项。
|
EpollSocketChannelConfig |
setTcpKeepCnt(int probes)
在套接字上设置
TCP_KEEPCNT 选项。
|
EpollSocketChannelConfig |
setTcpKeepCntl(int probes)
已过时。
|
EpollSocketChannelConfig |
setTcpKeepIdle(int seconds)
在套接字上设置
TCP_KEEPIDLE 选项。
|
EpollSocketChannelConfig |
setTcpKeepIntvl(int seconds)
在套接字上设置
TCP_KEEPINTVL 选项。
|
EpollSocketChannelConfig |
setTcpMd5Sig(java.util.Map<java.net.InetAddress,byte[]> keys)
在套接字上设置
TCP_MD5SIG 选项。
|
EpollSocketChannelConfig |
setTcpNoDelay(boolean tcpNoDelay)
设置
StandardSocketOptions.TCP_NODELAY 选项。
|
EpollSocketChannelConfig |
setTcpNotSentLowAt(long tcpNotSentLowAt)
在套接字上设置
TCP_NOTSENT_LOWAT 选项。
|
EpollSocketChannelConfig |
setTcpQuickAck(boolean quickAck)
在套接字上设置
TCP_QUICKACK 选项。
|
EpollSocketChannelConfig |
setTcpUserTimeout(int milliseconds)
在套接字上设置
TCP_USER_TIMEOUT 选项。
|
EpollSocketChannelConfig |
setTrafficClass(int trafficClass)
设置
StandardSocketOptions.IP_TOS 选项。
|
EpollSocketChannelConfig |
setWriteBufferHighWaterMark(int writeBufferHighWaterMark)
已过时。
|
EpollSocketChannelConfig |
setWriteBufferLowWaterMark(int writeBufferLowWaterMark)
已过时。
|
EpollSocketChannelConfig |
setWriteBufferWaterMark(WriteBufferWaterMark writeBufferWaterMark)
设置用于设置写入缓冲区的高位和低位水印的 WriteBufferWaterMark 。
|
EpollSocketChannelConfig |
setWriteSpinCount(int writeSpinCount)
设置写入操作的最大循环计数,直到
WritableByteChannel.write(ByteBuffer) 返回非零值。
|
autoReadCleared, getEpollMode
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
的
EpollChannelConfig
public <T> T getOption(ChannelOption<T> option)
ChannelConfig
ChannelOption
的值
getOption
的
ChannelConfig
getOption
在类
EpollChannelConfig
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
类
EpollChannelConfig
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 boolean isTcpCork()
TCP_CORK
选项。
有关更多详细信息,请参阅man 7 tcp
。
public long getTcpNotSentLowAt()
TCP_NOTSENT_LOWAT
选项。
有关更多详细信息,请参阅man 7 tcp
。
public int getTcpKeepIdle()
TCP_KEEPIDLE
选项。
有关更多详细信息,请参阅man 7 tcp
。
public int getTcpKeepIntvl()
TCP_KEEPINTVL
选项。
有关更多详细信息,请参阅man 7 tcp
。
public int getTcpKeepCnt()
TCP_KEEPCNT
选项。
有关更多详细信息,请参阅man 7 tcp
。
public int getTcpUserTimeout()
TCP_USER_TIMEOUT
选项。
有关更多详细信息,请参阅man 7 tcp
。
public EpollSocketChannelConfig setKeepAlive(boolean keepAlive)
SocketChannelConfig
复制的描述
StandardSocketOptions.SO_KEEPALIVE
选项。
setKeepAlive
接口
SocketChannelConfig
public EpollSocketChannelConfig setPerformancePreferences(int connectionTime, int latency, int bandwidth)
SocketChannelConfig
复制的描述
Socket.setPerformancePreferences(int, int, int)
指定的性能首选项。
setPerformancePreferences
在界面
SocketChannelConfig
public EpollSocketChannelConfig setReceiveBufferSize(int receiveBufferSize)
SocketChannelConfig
复制的描述
StandardSocketOptions.SO_RCVBUF
选项。
setReceiveBufferSize
接口
SocketChannelConfig
public EpollSocketChannelConfig setReuseAddress(boolean reuseAddress)
SocketChannelConfig
StandardSocketOptions.SO_REUSEADDR
选项。
setReuseAddress
接口
SocketChannelConfig
public EpollSocketChannelConfig setSendBufferSize(int sendBufferSize)
SocketChannelConfig
复制的描述
StandardSocketOptions.SO_SNDBUF
选项。
setSendBufferSize
在界面
SocketChannelConfig
public EpollSocketChannelConfig setSoLinger(int soLinger)
SocketChannelConfig
复制的描述
StandardSocketOptions.SO_LINGER
选项。
setSoLinger
接口
SocketChannelConfig
public EpollSocketChannelConfig setTcpNoDelay(boolean tcpNoDelay)
SocketChannelConfig
复制的描述
StandardSocketOptions.TCP_NODELAY
选项。
请注意,这个选项的默认值是true
不同于操作系统默认( false
)。
但是,对于一些有问题的平台,例如Android,在Nagle算法禁用的情况下显示不稳定的行为,默认值仍为false
。
setTcpNoDelay
在界面
SocketChannelConfig
public EpollSocketChannelConfig setTcpCork(boolean tcpCork)
TCP_CORK
选项。
有关更多详细信息,请参阅man 7 tcp
。
public EpollSocketChannelConfig setTcpNotSentLowAt(long tcpNotSentLowAt)
TCP_NOTSENT_LOWAT
选项。
有关更多详细信息,请参阅man 7 tcp
。
tcpNotSentLowAt
- 是一个uint32_t
public EpollSocketChannelConfig setTrafficClass(int trafficClass)
SocketChannelConfig
StandardSocketOptions.IP_TOS
选项。
setTrafficClass
,界面
SocketChannelConfig
public EpollSocketChannelConfig setTcpKeepIdle(int seconds)
TCP_KEEPIDLE
选项。
有关更多详细信息,请参阅man 7 tcp
。
public EpollSocketChannelConfig setTcpKeepIntvl(int seconds)
TCP_KEEPINTVL
选项。
有关更多详细信息,请参阅man 7 tcp
。
@Deprecated public EpollSocketChannelConfig setTcpKeepCntl(int probes)
setTcpKeepCnt(int)
public EpollSocketChannelConfig setTcpKeepCnt(int probes)
TCP_KEEPCNT
选项。
有关更多详细信息,请参阅man 7 tcp
。
public EpollSocketChannelConfig setTcpUserTimeout(int milliseconds)
TCP_USER_TIMEOUT
选项。
有关更多详细信息,请参阅man 7 tcp
。
public boolean isIpTransparent()
public EpollSocketChannelConfig setIpTransparent(boolean transparent)
true
使用IP_TRANSPARENT启用, false
为禁用它。
默认是禁用的。
public EpollSocketChannelConfig setTcpMd5Sig(java.util.Map<java.net.InetAddress,byte[]> keys)
TCP_MD5SIG
选项。
有关更多详细信息,请参阅linux/tcp.h
。
钥匙只能设置,不能读取以防止潜在的泄漏,因为它们是保密的。
允许他们阅读将意味着任何有权访问该频道的人都可以获得他们。
public EpollSocketChannelConfig setTcpQuickAck(boolean quickAck)
TCP_QUICKACK
选项。
有关更多详细信息,请参阅TCP_QUICKACK 。
public boolean isTcpQuickAck()
public EpollSocketChannelConfig setTcpFastOpenConnect(boolean fastOpenConnect)
public boolean isTcpFastOpenConnect()
true
如果
TCP_FASTOPEN_CONNECT
启用,
false
其他。
public boolean isAllowHalfClosure()
SocketChannelConfig
true
当且仅当其远程对等关闭输出以使连接半关闭时,通道不应该关闭。
如果false
,当远程对等关闭输出时,连接会自动关闭。
isAllowHalfClosure
在界面
SocketChannelConfig
public EpollSocketChannelConfig setAllowHalfClosure(boolean allowHalfClosure)
SocketChannelConfig
true
远程对等关闭输出,则连接未关闭。
相反, ChannelInboundHandler.userEventTriggered(ChannelHandlerContext, Object)
调用一个ChannelInputShutdownEvent
对象。
如果false
,连接会自动关闭。
setAllowHalfClosure
接口
SocketChannelConfig
public EpollSocketChannelConfig setConnectTimeoutMillis(int connectTimeoutMillis)
ChannelConfig
Channel
不支持连接操作,则完全不使用此属性,因此将被忽略。
setConnectTimeoutMillis
,界面
ChannelConfig
setConnectTimeoutMillis
接口
SocketChannelConfig
setConnectTimeoutMillis
在类
EpollChannelConfig
connectTimeoutMillis
- 以毫秒为单位的连接超时。
0
禁用。
@Deprecated public EpollSocketChannelConfig setMaxMessagesPerRead(int maxMessagesPerRead)
DefaultChannelConfig
setMaxMessagesPerRead
,界面
ChannelConfig
setMaxMessagesPerRead
接口
SocketChannelConfig
setMaxMessagesPerRead
在课堂
EpollChannelConfig
public EpollSocketChannelConfig setWriteSpinCount(int writeSpinCount)
ChannelConfig
WritableByteChannel.write(ByteBuffer)
返回非零值。
它类似于在并发编程中使用自旋锁。
它可以提高内存利用率并根据运行JVM的平台来编写吞吐量。
默认值是16
。
setWriteSpinCount
在界面
ChannelConfig
setWriteSpinCount
接口
SocketChannelConfig
setWriteSpinCount
在课堂
EpollChannelConfig
public EpollSocketChannelConfig setAllocator(ByteBufAllocator allocator)
ChannelConfig
ByteBufAllocator
。
setAllocator
,界面
ChannelConfig
setAllocator
接口
SocketChannelConfig
setAllocator
在类
EpollChannelConfig
public EpollSocketChannelConfig setRecvByteBufAllocator(RecvByteBufAllocator allocator)
ChannelConfig
RecvByteBufAllocator
。
setRecvByteBufAllocator
接口
ChannelConfig
setRecvByteBufAllocator
接口
SocketChannelConfig
setRecvByteBufAllocator
在类
EpollChannelConfig
public EpollSocketChannelConfig setAutoRead(boolean autoRead)
ChannelConfig
复制的描述
ChannelHandlerContext.read()
,以便用户应用程序根本不需要调用它。
默认值是true
。
setAutoRead
在界面
ChannelConfig
setAutoRead
在界面
SocketChannelConfig
setAutoRead
在课堂上
EpollChannelConfig
public EpollSocketChannelConfig setAutoClose(boolean autoClose)
setAutoClose
接口
ChannelConfig
setAutoClose
接口
SocketChannelConfig
setAutoClose
在课堂上
DefaultChannelConfig
@Deprecated public EpollSocketChannelConfig setWriteBufferHighWaterMark(int writeBufferHighWaterMark)
ChannelConfig
设置写入缓冲区的高位标记。 如果写入缓冲区中排队的字节数超过此值,则Channel.isWritable()
将开始返回false
。
setWriteBufferHighWaterMark
在界面
ChannelConfig
setWriteBufferHighWaterMark
在课堂上
EpollChannelConfig
@Deprecated public EpollSocketChannelConfig setWriteBufferLowWaterMark(int writeBufferLowWaterMark)
ChannelConfig
设置写入缓冲区的低水位标志。 一旦写入缓冲区中排队的字节数超过了high water mark ,然后下降到此值以下, Channel.isWritable()
将再次开始返回true
。
setWriteBufferLowWaterMark
在界面
ChannelConfig
setWriteBufferLowWaterMark
的
EpollChannelConfig
public EpollSocketChannelConfig setWriteBufferWaterMark(WriteBufferWaterMark writeBufferWaterMark)
ChannelConfig
复制的描述
WriteBufferWaterMark
。
setWriteBufferWaterMark
,界面
ChannelConfig
setWriteBufferWaterMark
接口
SocketChannelConfig
setWriteBufferWaterMark
在课堂上
EpollChannelConfig
public EpollSocketChannelConfig setMessageSizeEstimator(MessageSizeEstimator estimator)
ChannelConfig
复制的描述
MessageSizeEstimator
以检测消息的大小。
setMessageSizeEstimator
在界面
ChannelConfig
setMessageSizeEstimator
接口
SocketChannelConfig
setMessageSizeEstimator
在课堂上
EpollChannelConfig
public EpollSocketChannelConfig setEpollMode(EpollMode mode)
EpollChannelConfig
EpollMode
。
默认是EpollMode.EDGE_TRIGGERED
。
如果您想使用DefaultChannelConfig.isAutoRead()
false
或DefaultChannelConfig.getMaxMessagesPerRead()
并且具有准确的行为,则应使用EpollMode.LEVEL_TRIGGERED
。
请注意,只有在频道注册之前,才能调整此配置设置。
Copyright © 2008–2018 The Netty Project. All rights reserved.