Package io.netty.incubator.channel.uring
Class IOUringDatagramChannelConfig
- java.lang.Object
-
- io.netty.channel.DefaultChannelConfig
-
- io.netty.incubator.channel.uring.IOUringDatagramChannelConfig
-
- All Implemented Interfaces:
io.netty.channel.ChannelConfig,io.netty.channel.socket.DatagramChannelConfig
public final class IOUringDatagramChannelConfig extends io.netty.channel.DefaultChannelConfig implements io.netty.channel.socket.DatagramChannelConfig
-
-
Field Summary
Fields Modifier and Type Field Description private booleanactiveOnOpenprivate static io.netty.channel.RecvByteBufAllocatorDEFAULT_RCVBUF_ALLOCATORprivate intmaxDatagramSize
-
Constructor Summary
Constructors Constructor Description IOUringDatagramChannelConfig(AbstractIOUringChannel channel)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description (package private) booleangetActiveOnOpen()java.net.InetAddressgetInterface()intgetMaxDatagramPayloadSize()Get the maximumDatagramPacketsize.java.net.NetworkInterfacegetNetworkInterface()<T> TgetOption(io.netty.channel.ChannelOption<T> option)java.util.Map<io.netty.channel.ChannelOption<?>,java.lang.Object>getOptions()intgetReceiveBufferSize()intgetSendBufferSize()intgetTimeToLive()intgetTrafficClass()booleanisBroadcast()booleanisFreeBind()booleanisIpTransparent()booleanisLoopbackModeDisabled()booleanisReuseAddress()booleanisReusePort()Returnstrueif the SO_REUSEPORT option is set.private voidsetActiveOnOpen(boolean activeOnOpen)IOUringDatagramChannelConfigsetAllocator(io.netty.buffer.ByteBufAllocator allocator)IOUringDatagramChannelConfigsetAutoClose(boolean autoClose)IOUringDatagramChannelConfigsetAutoRead(boolean autoRead)IOUringDatagramChannelConfigsetBroadcast(boolean broadcast)IOUringDatagramChannelConfigsetConnectTimeoutMillis(int connectTimeoutMillis)IOUringDatagramChannelConfigsetFreeBind(boolean freeBind)IOUringDatagramChannelConfigsetInterface(java.net.InetAddress interfaceAddress)IOUringDatagramChannelConfigsetIpTransparent(boolean ipTransparent)IOUringDatagramChannelConfigsetLoopbackModeDisabled(boolean loopbackModeDisabled)IOUringDatagramChannelConfigsetMaxDatagramPayloadSize(int maxDatagramSize)Set the maximumDatagramPacketsize.IOUringDatagramChannelConfigsetMaxMessagesPerRead(int maxMessagesPerRead)Deprecated.IOUringDatagramChannelConfigsetMessageSizeEstimator(io.netty.channel.MessageSizeEstimator estimator)IOUringDatagramChannelConfigsetNetworkInterface(java.net.NetworkInterface networkInterface)<T> booleansetOption(io.netty.channel.ChannelOption<T> option, T value)IOUringDatagramChannelConfigsetReceiveBufferSize(int receiveBufferSize)IOUringDatagramChannelConfigsetRecvByteBufAllocator(io.netty.channel.RecvByteBufAllocator allocator)IOUringDatagramChannelConfigsetReuseAddress(boolean reuseAddress)IOUringDatagramChannelConfigsetReusePort(boolean reusePort)Set the SO_REUSEPORT option on the underlying Channel.IOUringDatagramChannelConfigsetSendBufferSize(int sendBufferSize)IOUringDatagramChannelConfigsetTimeToLive(int ttl)IOUringDatagramChannelConfigsetTrafficClass(int trafficClass)IOUringDatagramChannelConfigsetWriteBufferHighWaterMark(int writeBufferHighWaterMark)Deprecated.IOUringDatagramChannelConfigsetWriteBufferLowWaterMark(int writeBufferLowWaterMark)Deprecated.IOUringDatagramChannelConfigsetWriteBufferWaterMark(io.netty.channel.WriteBufferWaterMark writeBufferWaterMark)IOUringDatagramChannelConfigsetWriteSpinCount(int writeSpinCount)-
Methods inherited from class io.netty.channel.DefaultChannelConfig
autoReadCleared, getAllocator, getConnectTimeoutMillis, getMaxMessagesPerRead, getMaxMessagesPerWrite, getMessageSizeEstimator, getOptions, getRecvByteBufAllocator, getWriteBufferHighWaterMark, getWriteBufferLowWaterMark, getWriteBufferWaterMark, getWriteSpinCount, isAutoClose, isAutoRead, 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, setOptions
-
-
-
-
Constructor Detail
-
IOUringDatagramChannelConfig
IOUringDatagramChannelConfig(AbstractIOUringChannel channel)
-
-
Method Detail
-
getOptions
public java.util.Map<io.netty.channel.ChannelOption<?>,java.lang.Object> getOptions()
- Specified by:
getOptionsin interfaceio.netty.channel.ChannelConfig- Overrides:
getOptionsin classio.netty.channel.DefaultChannelConfig
-
getOption
public <T> T getOption(io.netty.channel.ChannelOption<T> option)
- Specified by:
getOptionin interfaceio.netty.channel.ChannelConfig- Overrides:
getOptionin classio.netty.channel.DefaultChannelConfig
-
setOption
public <T> boolean setOption(io.netty.channel.ChannelOption<T> option, T value)- Specified by:
setOptionin interfaceio.netty.channel.ChannelConfig- Overrides:
setOptionin classio.netty.channel.DefaultChannelConfig
-
setActiveOnOpen
private void setActiveOnOpen(boolean activeOnOpen)
-
getActiveOnOpen
boolean getActiveOnOpen()
-
setMessageSizeEstimator
public IOUringDatagramChannelConfig setMessageSizeEstimator(io.netty.channel.MessageSizeEstimator estimator)
- Specified by:
setMessageSizeEstimatorin interfaceio.netty.channel.ChannelConfig- Specified by:
setMessageSizeEstimatorin interfaceio.netty.channel.socket.DatagramChannelConfig- Overrides:
setMessageSizeEstimatorin classio.netty.channel.DefaultChannelConfig
-
setWriteBufferLowWaterMark
@Deprecated public IOUringDatagramChannelConfig setWriteBufferLowWaterMark(int writeBufferLowWaterMark)
Deprecated.- Specified by:
setWriteBufferLowWaterMarkin interfaceio.netty.channel.ChannelConfig- Overrides:
setWriteBufferLowWaterMarkin classio.netty.channel.DefaultChannelConfig
-
setWriteBufferHighWaterMark
@Deprecated public IOUringDatagramChannelConfig setWriteBufferHighWaterMark(int writeBufferHighWaterMark)
Deprecated.- Specified by:
setWriteBufferHighWaterMarkin interfaceio.netty.channel.ChannelConfig- Overrides:
setWriteBufferHighWaterMarkin classio.netty.channel.DefaultChannelConfig
-
setWriteBufferWaterMark
public IOUringDatagramChannelConfig setWriteBufferWaterMark(io.netty.channel.WriteBufferWaterMark writeBufferWaterMark)
- Specified by:
setWriteBufferWaterMarkin interfaceio.netty.channel.ChannelConfig- Specified by:
setWriteBufferWaterMarkin interfaceio.netty.channel.socket.DatagramChannelConfig- Overrides:
setWriteBufferWaterMarkin classio.netty.channel.DefaultChannelConfig
-
setAutoClose
public IOUringDatagramChannelConfig setAutoClose(boolean autoClose)
- Specified by:
setAutoClosein interfaceio.netty.channel.ChannelConfig- Specified by:
setAutoClosein interfaceio.netty.channel.socket.DatagramChannelConfig- Overrides:
setAutoClosein classio.netty.channel.DefaultChannelConfig
-
setAutoRead
public IOUringDatagramChannelConfig setAutoRead(boolean autoRead)
- Specified by:
setAutoReadin interfaceio.netty.channel.ChannelConfig- Specified by:
setAutoReadin interfaceio.netty.channel.socket.DatagramChannelConfig- Overrides:
setAutoReadin classio.netty.channel.DefaultChannelConfig
-
setRecvByteBufAllocator
public IOUringDatagramChannelConfig setRecvByteBufAllocator(io.netty.channel.RecvByteBufAllocator allocator)
- Specified by:
setRecvByteBufAllocatorin interfaceio.netty.channel.ChannelConfig- Specified by:
setRecvByteBufAllocatorin interfaceio.netty.channel.socket.DatagramChannelConfig- Overrides:
setRecvByteBufAllocatorin classio.netty.channel.DefaultChannelConfig
-
setWriteSpinCount
public IOUringDatagramChannelConfig setWriteSpinCount(int writeSpinCount)
- Specified by:
setWriteSpinCountin interfaceio.netty.channel.ChannelConfig- Specified by:
setWriteSpinCountin interfaceio.netty.channel.socket.DatagramChannelConfig- Overrides:
setWriteSpinCountin classio.netty.channel.DefaultChannelConfig
-
setAllocator
public IOUringDatagramChannelConfig setAllocator(io.netty.buffer.ByteBufAllocator allocator)
- Specified by:
setAllocatorin interfaceio.netty.channel.ChannelConfig- Specified by:
setAllocatorin interfaceio.netty.channel.socket.DatagramChannelConfig- Overrides:
setAllocatorin classio.netty.channel.DefaultChannelConfig
-
setConnectTimeoutMillis
public IOUringDatagramChannelConfig setConnectTimeoutMillis(int connectTimeoutMillis)
- Specified by:
setConnectTimeoutMillisin interfaceio.netty.channel.ChannelConfig- Specified by:
setConnectTimeoutMillisin interfaceio.netty.channel.socket.DatagramChannelConfig- Overrides:
setConnectTimeoutMillisin classio.netty.channel.DefaultChannelConfig
-
setMaxMessagesPerRead
@Deprecated public IOUringDatagramChannelConfig setMaxMessagesPerRead(int maxMessagesPerRead)
Deprecated.- Specified by:
setMaxMessagesPerReadin interfaceio.netty.channel.ChannelConfig- Specified by:
setMaxMessagesPerReadin interfaceio.netty.channel.socket.DatagramChannelConfig- Overrides:
setMaxMessagesPerReadin classio.netty.channel.DefaultChannelConfig
-
getSendBufferSize
public int getSendBufferSize()
- Specified by:
getSendBufferSizein interfaceio.netty.channel.socket.DatagramChannelConfig
-
setSendBufferSize
public IOUringDatagramChannelConfig setSendBufferSize(int sendBufferSize)
- Specified by:
setSendBufferSizein interfaceio.netty.channel.socket.DatagramChannelConfig
-
getReceiveBufferSize
public int getReceiveBufferSize()
- Specified by:
getReceiveBufferSizein interfaceio.netty.channel.socket.DatagramChannelConfig
-
setReceiveBufferSize
public IOUringDatagramChannelConfig setReceiveBufferSize(int receiveBufferSize)
- Specified by:
setReceiveBufferSizein interfaceio.netty.channel.socket.DatagramChannelConfig
-
getTrafficClass
public int getTrafficClass()
- Specified by:
getTrafficClassin interfaceio.netty.channel.socket.DatagramChannelConfig
-
setTrafficClass
public IOUringDatagramChannelConfig setTrafficClass(int trafficClass)
- Specified by:
setTrafficClassin interfaceio.netty.channel.socket.DatagramChannelConfig
-
isReuseAddress
public boolean isReuseAddress()
- Specified by:
isReuseAddressin interfaceio.netty.channel.socket.DatagramChannelConfig
-
setReuseAddress
public IOUringDatagramChannelConfig setReuseAddress(boolean reuseAddress)
- Specified by:
setReuseAddressin interfaceio.netty.channel.socket.DatagramChannelConfig
-
isBroadcast
public boolean isBroadcast()
- Specified by:
isBroadcastin interfaceio.netty.channel.socket.DatagramChannelConfig
-
setBroadcast
public IOUringDatagramChannelConfig setBroadcast(boolean broadcast)
- Specified by:
setBroadcastin interfaceio.netty.channel.socket.DatagramChannelConfig
-
isLoopbackModeDisabled
public boolean isLoopbackModeDisabled()
- Specified by:
isLoopbackModeDisabledin interfaceio.netty.channel.socket.DatagramChannelConfig
-
setLoopbackModeDisabled
public IOUringDatagramChannelConfig setLoopbackModeDisabled(boolean loopbackModeDisabled)
- Specified by:
setLoopbackModeDisabledin interfaceio.netty.channel.socket.DatagramChannelConfig
-
getTimeToLive
public int getTimeToLive()
- Specified by:
getTimeToLivein interfaceio.netty.channel.socket.DatagramChannelConfig
-
setTimeToLive
public IOUringDatagramChannelConfig setTimeToLive(int ttl)
- Specified by:
setTimeToLivein interfaceio.netty.channel.socket.DatagramChannelConfig
-
getInterface
public java.net.InetAddress getInterface()
- Specified by:
getInterfacein interfaceio.netty.channel.socket.DatagramChannelConfig
-
setInterface
public IOUringDatagramChannelConfig setInterface(java.net.InetAddress interfaceAddress)
- Specified by:
setInterfacein interfaceio.netty.channel.socket.DatagramChannelConfig
-
getNetworkInterface
public java.net.NetworkInterface getNetworkInterface()
- Specified by:
getNetworkInterfacein interfaceio.netty.channel.socket.DatagramChannelConfig
-
setNetworkInterface
public IOUringDatagramChannelConfig setNetworkInterface(java.net.NetworkInterface networkInterface)
- Specified by:
setNetworkInterfacein interfaceio.netty.channel.socket.DatagramChannelConfig
-
isReusePort
public boolean isReusePort()
Returnstrueif the SO_REUSEPORT option is set.
-
setReusePort
public IOUringDatagramChannelConfig setReusePort(boolean reusePort)
Set the SO_REUSEPORT option on the underlying Channel. This will allow to bind multipleDatagramChannels to the same port and so receive datagrams with multiple threads. Be aware this method needs be called beforeChannelOutboundInvoker.bind(java.net.SocketAddress)to have any affect.
-
isIpTransparent
public boolean isIpTransparent()
-
setIpTransparent
public IOUringDatagramChannelConfig setIpTransparent(boolean ipTransparent)
-
isFreeBind
public boolean isFreeBind()
-
setFreeBind
public IOUringDatagramChannelConfig setFreeBind(boolean freeBind)
-
setMaxDatagramPayloadSize
public IOUringDatagramChannelConfig setMaxDatagramPayloadSize(int maxDatagramSize)
Set the maximumDatagramPacketsize. This will be used to determine if a batch ofIORING_IO_RECVMSGshould be used when reading from the underlying socket. When batchedrecvmmsgis used we may be able to read multipleDatagramPackets with one syscall and so greatly improve the performance. This number will be used to sliceByteBufs returned by the usedRecvByteBufAllocator. You can use0to disable the usage of batching, any other bigger value will enable it.
-
getMaxDatagramPayloadSize
public int getMaxDatagramPayloadSize()
Get the maximumDatagramPacketsize.
-
-