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