Package io.netty.incubator.channel.uring
Class IOUringServerSocketChannelConfig
- java.lang.Object
-
- io.netty.channel.DefaultChannelConfig
-
- io.netty.incubator.channel.uring.IOUringServerSocketChannelConfig
-
- All Implemented Interfaces:
io.netty.channel.ChannelConfig
,io.netty.channel.socket.ServerSocketChannelConfig
public final class IOUringServerSocketChannelConfig extends io.netty.channel.DefaultChannelConfig implements io.netty.channel.socket.ServerSocketChannelConfig
-
-
Field Summary
Fields Modifier and Type Field Description private int
backlog
private int
pendingFastOpenRequestsThreshold
-
Constructor Summary
Constructors Constructor Description IOUringServerSocketChannelConfig(AbstractIOUringServerChannel channel)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description int
getBacklog()
<T> T
getOption(io.netty.channel.ChannelOption<T> option)
java.util.Map<io.netty.channel.ChannelOption<?>,java.lang.Object>
getOptions()
int
getReceiveBufferSize()
int
getTcpDeferAccept()
Returns a positive value if TCP_DEFER_ACCEPT is enabled.int
getTcpFastopen()
Returns threshold value of number of pending for fast open connect.boolean
isFreeBind()
boolean
isIpTransparent()
boolean
isReuseAddress()
boolean
isReusePort()
Returnstrue
if the SO_REUSEPORT option is set.IOUringServerSocketChannelConfig
setAllocator(io.netty.buffer.ByteBufAllocator allocator)
IOUringServerSocketChannelConfig
setAutoRead(boolean autoRead)
IOUringServerSocketChannelConfig
setBacklog(int backlog)
IOUringServerSocketChannelConfig
setConnectTimeoutMillis(int connectTimeoutMillis)
IOUringServerSocketChannelConfig
setFreeBind(boolean freeBind)
IOUringServerSocketChannelConfig
setIpTransparent(boolean transparent)
IOUringServerSocketChannelConfig
setMaxMessagesPerRead(int maxMessagesPerRead)
Deprecated.IOUringServerSocketChannelConfig
setMessageSizeEstimator(io.netty.channel.MessageSizeEstimator estimator)
<T> boolean
setOption(io.netty.channel.ChannelOption<T> option, T value)
IOUringServerSocketChannelConfig
setPerformancePreferences(int connectionTime, int latency, int bandwidth)
IOUringServerSocketChannelConfig
setReceiveBufferSize(int receiveBufferSize)
IOUringServerSocketChannelConfig
setRecvByteBufAllocator(io.netty.channel.RecvByteBufAllocator allocator)
IOUringServerSocketChannelConfig
setReuseAddress(boolean reuseAddress)
IOUringServerSocketChannelConfig
setReusePort(boolean reusePort)
Set the SO_REUSEPORT option on the underlying Channel.IOUringServerSocketChannelConfig
setTcpDeferAccept(int deferAccept)
Set theTCP_DEFER_ACCEPT
option on the socket.IOUringServerSocketChannelConfig
setTcpFastopen(int pendingFastOpenRequestsThreshold)
Enables tcpFastOpen on the server channel.IOUringServerSocketChannelConfig
setWriteBufferHighWaterMark(int writeBufferHighWaterMark)
Deprecated.IOUringServerSocketChannelConfig
setWriteBufferLowWaterMark(int writeBufferLowWaterMark)
Deprecated.IOUringServerSocketChannelConfig
setWriteBufferWaterMark(io.netty.channel.WriteBufferWaterMark writeBufferWaterMark)
IOUringServerSocketChannelConfig
setWriteSpinCount(int writeSpinCount)
-
Methods inherited from class io.netty.channel.DefaultChannelConfig
autoReadCleared, getAllocator, getConnectTimeoutMillis, getMaxMessagesPerRead, getMaxMessagesPerWrite, getMessageSizeEstimator, getOptions, getRecvByteBufAllocator, getWriteBufferHighWaterMark, getWriteBufferLowWaterMark, getWriteBufferWaterMark, getWriteSpinCount, isAutoClose, isAutoRead, setAutoClose, setMaxMessagesPerWrite, setOptions, validate
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.netty.channel.ChannelConfig
getAllocator, getConnectTimeoutMillis, getMaxMessagesPerRead, getMessageSizeEstimator, getRecvByteBufAllocator, getWriteBufferHighWaterMark, getWriteBufferLowWaterMark, getWriteBufferWaterMark, getWriteSpinCount, isAutoClose, isAutoRead, setAutoClose, setOptions
-
-
-
-
Constructor Detail
-
IOUringServerSocketChannelConfig
IOUringServerSocketChannelConfig(AbstractIOUringServerChannel channel)
-
-
Method Detail
-
getOptions
public java.util.Map<io.netty.channel.ChannelOption<?>,java.lang.Object> getOptions()
- Specified by:
getOptions
in interfaceio.netty.channel.ChannelConfig
- Overrides:
getOptions
in classio.netty.channel.DefaultChannelConfig
-
getOption
public <T> T getOption(io.netty.channel.ChannelOption<T> option)
- Specified by:
getOption
in interfaceio.netty.channel.ChannelConfig
- Overrides:
getOption
in classio.netty.channel.DefaultChannelConfig
-
setOption
public <T> boolean setOption(io.netty.channel.ChannelOption<T> option, T value)
- Specified by:
setOption
in interfaceio.netty.channel.ChannelConfig
- Overrides:
setOption
in classio.netty.channel.DefaultChannelConfig
-
setPerformancePreferences
public IOUringServerSocketChannelConfig setPerformancePreferences(int connectionTime, int latency, int bandwidth)
- Specified by:
setPerformancePreferences
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
-
isReuseAddress
public boolean isReuseAddress()
- Specified by:
isReuseAddress
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
-
setReuseAddress
public IOUringServerSocketChannelConfig setReuseAddress(boolean reuseAddress)
- Specified by:
setReuseAddress
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
-
getReceiveBufferSize
public int getReceiveBufferSize()
- Specified by:
getReceiveBufferSize
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
-
setReceiveBufferSize
public IOUringServerSocketChannelConfig setReceiveBufferSize(int receiveBufferSize)
- Specified by:
setReceiveBufferSize
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
-
getBacklog
public int getBacklog()
- Specified by:
getBacklog
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
-
setBacklog
public IOUringServerSocketChannelConfig setBacklog(int backlog)
- Specified by:
setBacklog
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
-
setConnectTimeoutMillis
public IOUringServerSocketChannelConfig setConnectTimeoutMillis(int connectTimeoutMillis)
- Specified by:
setConnectTimeoutMillis
in interfaceio.netty.channel.ChannelConfig
- Specified by:
setConnectTimeoutMillis
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
- Overrides:
setConnectTimeoutMillis
in classio.netty.channel.DefaultChannelConfig
-
setMaxMessagesPerRead
@Deprecated public IOUringServerSocketChannelConfig setMaxMessagesPerRead(int maxMessagesPerRead)
Deprecated.- Specified by:
setMaxMessagesPerRead
in interfaceio.netty.channel.ChannelConfig
- Specified by:
setMaxMessagesPerRead
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
- Overrides:
setMaxMessagesPerRead
in classio.netty.channel.DefaultChannelConfig
-
setWriteSpinCount
public IOUringServerSocketChannelConfig setWriteSpinCount(int writeSpinCount)
- Specified by:
setWriteSpinCount
in interfaceio.netty.channel.ChannelConfig
- Specified by:
setWriteSpinCount
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
- Overrides:
setWriteSpinCount
in classio.netty.channel.DefaultChannelConfig
-
setAllocator
public IOUringServerSocketChannelConfig setAllocator(io.netty.buffer.ByteBufAllocator allocator)
- Specified by:
setAllocator
in interfaceio.netty.channel.ChannelConfig
- Specified by:
setAllocator
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
- Overrides:
setAllocator
in classio.netty.channel.DefaultChannelConfig
-
setRecvByteBufAllocator
public IOUringServerSocketChannelConfig setRecvByteBufAllocator(io.netty.channel.RecvByteBufAllocator allocator)
- Specified by:
setRecvByteBufAllocator
in interfaceio.netty.channel.ChannelConfig
- Specified by:
setRecvByteBufAllocator
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
- Overrides:
setRecvByteBufAllocator
in classio.netty.channel.DefaultChannelConfig
-
setAutoRead
public IOUringServerSocketChannelConfig setAutoRead(boolean autoRead)
- Specified by:
setAutoRead
in interfaceio.netty.channel.ChannelConfig
- Specified by:
setAutoRead
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
- Overrides:
setAutoRead
in classio.netty.channel.DefaultChannelConfig
-
setWriteBufferHighWaterMark
@Deprecated public IOUringServerSocketChannelConfig setWriteBufferHighWaterMark(int writeBufferHighWaterMark)
Deprecated.- Specified by:
setWriteBufferHighWaterMark
in interfaceio.netty.channel.ChannelConfig
- Specified by:
setWriteBufferHighWaterMark
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
- Overrides:
setWriteBufferHighWaterMark
in classio.netty.channel.DefaultChannelConfig
-
setWriteBufferLowWaterMark
@Deprecated public IOUringServerSocketChannelConfig setWriteBufferLowWaterMark(int writeBufferLowWaterMark)
Deprecated.- Specified by:
setWriteBufferLowWaterMark
in interfaceio.netty.channel.ChannelConfig
- Specified by:
setWriteBufferLowWaterMark
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
- Overrides:
setWriteBufferLowWaterMark
in classio.netty.channel.DefaultChannelConfig
-
setWriteBufferWaterMark
public IOUringServerSocketChannelConfig setWriteBufferWaterMark(io.netty.channel.WriteBufferWaterMark writeBufferWaterMark)
- Specified by:
setWriteBufferWaterMark
in interfaceio.netty.channel.ChannelConfig
- Specified by:
setWriteBufferWaterMark
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
- Overrides:
setWriteBufferWaterMark
in classio.netty.channel.DefaultChannelConfig
-
setMessageSizeEstimator
public IOUringServerSocketChannelConfig setMessageSizeEstimator(io.netty.channel.MessageSizeEstimator estimator)
- Specified by:
setMessageSizeEstimator
in interfaceio.netty.channel.ChannelConfig
- Specified by:
setMessageSizeEstimator
in interfaceio.netty.channel.socket.ServerSocketChannelConfig
- Overrides:
setMessageSizeEstimator
in classio.netty.channel.DefaultChannelConfig
-
isReusePort
public boolean isReusePort()
Returnstrue
if the SO_REUSEPORT option is set.
-
setReusePort
public IOUringServerSocketChannelConfig setReusePort(boolean reusePort)
Set the SO_REUSEPORT option on the underlying Channel. This will allow to bind multipleServerSocketChannel
s to the same port and so accept connections with multiple threads. Be aware this method needs be called beforeChannelOutboundInvoker.bind(java.net.SocketAddress)
to have any affect.
-
isFreeBind
public boolean isFreeBind()
-
setFreeBind
public IOUringServerSocketChannelConfig setFreeBind(boolean freeBind)
-
isIpTransparent
public boolean isIpTransparent()
-
setIpTransparent
public IOUringServerSocketChannelConfig setIpTransparent(boolean transparent)
-
setTcpDeferAccept
public IOUringServerSocketChannelConfig setTcpDeferAccept(int deferAccept)
Set theTCP_DEFER_ACCEPT
option on the socket. Seeman 7 tcp
for more details.
-
getTcpDeferAccept
public int getTcpDeferAccept()
Returns a positive value if TCP_DEFER_ACCEPT is enabled.
-
getTcpFastopen
public int getTcpFastopen()
Returns threshold value of number of pending for fast open connect.- See Also:
- RFC 7413 Passive Open
-
setTcpFastopen
public IOUringServerSocketChannelConfig setTcpFastopen(int pendingFastOpenRequestsThreshold)
Enables tcpFastOpen on the server channel. If the underlying os doesn't support TCP_FASTOPEN setting this has no effect. This has to be set before doing listen on the socket otherwise this takes no effect.- Parameters:
pendingFastOpenRequestsThreshold
- number of requests to be pending for fastopen at a given point in time for security.- See Also:
- RFC 7413 Passive Open
-
-