public final class EpollServerSocketChannelConfig extends EpollServerChannelConfig implements ServerSocketChannelConfig
channel
Modifier and Type | Method and Description |
---|---|
<T> T |
getOption(ChannelOption<T> option)
Return the value of the given
ChannelOption |
Map<ChannelOption<?>,Object> |
getOptions()
Return all set
ChannelOption 's. |
int |
getTcpDeferAccept()
Returns a positive value if TCP_DEFER_ACCEPT is enabled.
|
boolean |
isFreeBind()
|
boolean |
isReusePort()
Returns
true if the SO_REUSEPORT option is set. |
EpollServerSocketChannelConfig |
setAllocator(ByteBufAllocator allocator)
Set the
ByteBufAllocator which is used for the channel
to allocate buffers. |
EpollServerSocketChannelConfig |
setAutoRead(boolean autoRead)
Sets if
ChannelHandlerContext.read() will be invoked automatically so that a user application doesn't
need to call it at all. |
EpollServerSocketChannelConfig |
setBacklog(int backlog)
Sets the backlog value to specify when the channel binds to a local
address.
|
EpollServerSocketChannelConfig |
setConnectTimeoutMillis(int connectTimeoutMillis)
Sets the connect timeout of the channel in milliseconds.
|
EpollServerSocketChannelConfig |
setFreeBind(boolean freeBind)
|
EpollServerSocketChannelConfig |
setMaxMessagesPerRead(int maxMessagesPerRead)
Deprecated.
|
EpollServerSocketChannelConfig |
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.
|
EpollServerSocketChannelConfig |
setPerformancePreferences(int connectionTime,
int latency,
int bandwidth)
Sets the performance preferences as specified in
ServerSocket.setPerformancePreferences(int, int, int) . |
EpollServerSocketChannelConfig |
setReceiveBufferSize(int receiveBufferSize)
Gets the
StandardSocketOptions.SO_SNDBUF option. |
EpollServerSocketChannelConfig |
setRecvByteBufAllocator(RecvByteBufAllocator allocator)
Set the
RecvByteBufAllocator which is used for the channel to allocate receive buffers. |
EpollServerSocketChannelConfig |
setReuseAddress(boolean reuseAddress)
Sets the
StandardSocketOptions.SO_REUSEADDR option. |
EpollServerSocketChannelConfig |
setReusePort(boolean reusePort)
Set the SO_REUSEPORT option on the underlying Channel.
|
EpollServerSocketChannelConfig |
setTcpDeferAccept(int deferAccept)
Set the
TCP_DEFER_ACCEPT option on the socket. |
EpollServerSocketChannelConfig |
setTcpMd5Sig(Map<InetAddress,byte[]> keys)
Set the
TCP_MD5SIG option on the socket. |
EpollServerSocketChannelConfig |
setWriteBufferHighWaterMark(int writeBufferHighWaterMark)
Deprecated.
|
EpollServerSocketChannelConfig |
setWriteBufferLowWaterMark(int writeBufferLowWaterMark)
Deprecated.
|
EpollServerSocketChannelConfig |
setWriteBufferWaterMark(WriteBufferWaterMark writeBufferWaterMark)
Set the
WriteBufferWaterMark which is used for setting the high and low
water mark of the write buffer. |
EpollServerSocketChannelConfig |
setWriteSpinCount(int writeSpinCount)
Sets the maximum loop count for a write operation until
WritableByteChannel.write(ByteBuffer) returns a non-zero value. |
getBacklog, getReceiveBufferSize, getTcpFastopen, isReuseAddress, setEpollMode, setTcpFastopen
autoReadCleared, getEpollMode
getAllocator, getConnectTimeoutMillis, getMaxMessagesPerRead, getMessageSizeEstimator, getOptions, getRecvByteBufAllocator, getWriteBufferHighWaterMark, getWriteBufferLowWaterMark, getWriteBufferWaterMark, getWriteSpinCount, isAutoClose, isAutoRead, setAutoClose, setOptions, validate
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getBacklog, getReceiveBufferSize, isReuseAddress
getAllocator, getConnectTimeoutMillis, getMaxMessagesPerRead, getMessageSizeEstimator, getRecvByteBufAllocator, getWriteBufferHighWaterMark, getWriteBufferLowWaterMark, getWriteBufferWaterMark, getWriteSpinCount, isAutoClose, isAutoRead, setAutoClose, setOptions
public Map<ChannelOption<?>,Object> getOptions()
ChannelConfig
ChannelOption
's.getOptions
in interface ChannelConfig
getOptions
in class EpollServerChannelConfig
public <T> T getOption(ChannelOption<T> option)
ChannelConfig
ChannelOption
getOption
in interface ChannelConfig
getOption
in class EpollServerChannelConfig
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
in interface ChannelConfig
setOption
in class EpollServerChannelConfig
true
if and only if the property has been setpublic EpollServerSocketChannelConfig setReuseAddress(boolean reuseAddress)
ServerSocketChannelConfig
StandardSocketOptions.SO_REUSEADDR
option.setReuseAddress
in interface ServerSocketChannelConfig
setReuseAddress
in class EpollServerChannelConfig
public EpollServerSocketChannelConfig setReceiveBufferSize(int receiveBufferSize)
ServerSocketChannelConfig
StandardSocketOptions.SO_SNDBUF
option.setReceiveBufferSize
in interface ServerSocketChannelConfig
setReceiveBufferSize
in class EpollServerChannelConfig
public EpollServerSocketChannelConfig setPerformancePreferences(int connectionTime, int latency, int bandwidth)
ServerSocketChannelConfig
ServerSocket.setPerformancePreferences(int, int, int)
.setPerformancePreferences
in interface ServerSocketChannelConfig
setPerformancePreferences
in class EpollServerChannelConfig
public EpollServerSocketChannelConfig setBacklog(int backlog)
ServerSocketChannelConfig
setBacklog
in interface ServerSocketChannelConfig
setBacklog
in class EpollServerChannelConfig
public EpollServerSocketChannelConfig setConnectTimeoutMillis(int connectTimeoutMillis)
ChannelConfig
Channel
does not support connect operation, this property is not
used at all, and therefore will be ignored.setConnectTimeoutMillis
in interface ChannelConfig
setConnectTimeoutMillis
in interface ServerSocketChannelConfig
setConnectTimeoutMillis
in class EpollServerChannelConfig
connectTimeoutMillis
- the connect timeout in milliseconds.
0
to disable.@Deprecated public EpollServerSocketChannelConfig setMaxMessagesPerRead(int maxMessagesPerRead)
DefaultChannelConfig
setMaxMessagesPerRead
in interface ChannelConfig
setMaxMessagesPerRead
in interface ServerSocketChannelConfig
setMaxMessagesPerRead
in class EpollServerChannelConfig
public EpollServerSocketChannelConfig 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
in interface ChannelConfig
setWriteSpinCount
in interface ServerSocketChannelConfig
setWriteSpinCount
in class EpollServerChannelConfig
public EpollServerSocketChannelConfig setAllocator(ByteBufAllocator allocator)
ChannelConfig
ByteBufAllocator
which is used for the channel
to allocate buffers.setAllocator
in interface ChannelConfig
setAllocator
in interface ServerSocketChannelConfig
setAllocator
in class EpollServerChannelConfig
public EpollServerSocketChannelConfig setRecvByteBufAllocator(RecvByteBufAllocator allocator)
ChannelConfig
RecvByteBufAllocator
which is used for the channel to allocate receive buffers.setRecvByteBufAllocator
in interface ChannelConfig
setRecvByteBufAllocator
in interface ServerSocketChannelConfig
setRecvByteBufAllocator
in class EpollServerChannelConfig
public EpollServerSocketChannelConfig 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
in interface ChannelConfig
setAutoRead
in interface ServerSocketChannelConfig
setAutoRead
in class EpollServerChannelConfig
@Deprecated public EpollServerSocketChannelConfig 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
.
setWriteBufferHighWaterMark
in interface ChannelConfig
setWriteBufferHighWaterMark
in interface ServerSocketChannelConfig
setWriteBufferHighWaterMark
in class EpollServerChannelConfig
@Deprecated public EpollServerSocketChannelConfig 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
in interface ChannelConfig
setWriteBufferLowWaterMark
in interface ServerSocketChannelConfig
setWriteBufferLowWaterMark
in class EpollServerChannelConfig
public EpollServerSocketChannelConfig setWriteBufferWaterMark(WriteBufferWaterMark writeBufferWaterMark)
ChannelConfig
WriteBufferWaterMark
which is used for setting the high and low
water mark of the write buffer.setWriteBufferWaterMark
in interface ChannelConfig
setWriteBufferWaterMark
in interface ServerSocketChannelConfig
setWriteBufferWaterMark
in class EpollServerChannelConfig
public EpollServerSocketChannelConfig setMessageSizeEstimator(MessageSizeEstimator estimator)
ChannelConfig
MessageSizeEstimator
which is used for the channel
to detect the size of a message.setMessageSizeEstimator
in interface ChannelConfig
setMessageSizeEstimator
in interface ServerSocketChannelConfig
setMessageSizeEstimator
in class EpollServerChannelConfig
public EpollServerSocketChannelConfig setTcpMd5Sig(Map<InetAddress,byte[]> keys)
TCP_MD5SIG
option on the socket. See linux/tcp.h
for more details.
Keys can only be set on, not read to prevent a potential leak, as they are confidential.
Allowing them being read would mean anyone with access to the channel could get them.public boolean isReusePort()
true
if the SO_REUSEPORT option is set.public EpollServerSocketChannelConfig setReusePort(boolean reusePort)
EpollSocketChannel
s to the same port and so accept connections with multiple threads.
Be aware this method needs be called before AbstractChannel.bind(java.net.SocketAddress)
to have
any affect.public boolean isFreeBind()
public EpollServerSocketChannelConfig setFreeBind(boolean freeBind)
public EpollServerSocketChannelConfig setTcpDeferAccept(int deferAccept)
TCP_DEFER_ACCEPT
option on the socket. See man 7 tcp
for more details.public int getTcpDeferAccept()
Copyright © 2008–2017 The Netty Project. All rights reserved.