Class 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 Detail

      • DEFAULT_RCVBUF_ALLOCATOR

        private static final io.netty.channel.RecvByteBufAllocator DEFAULT_RCVBUF_ALLOCATOR
      • activeOnOpen

        private boolean activeOnOpen
      • maxDatagramSize

        private volatile int maxDatagramSize
    • Method Detail

      • getOptions

        public java.util.Map<io.netty.channel.ChannelOption<?>,​java.lang.Object> getOptions()
        Specified by:
        getOptions in interface io.netty.channel.ChannelConfig
        Overrides:
        getOptions in class io.netty.channel.DefaultChannelConfig
      • getOption

        public <T> T getOption​(io.netty.channel.ChannelOption<T> option)
        Specified by:
        getOption in interface io.netty.channel.ChannelConfig
        Overrides:
        getOption in class io.netty.channel.DefaultChannelConfig
      • setOption

        public <T> boolean setOption​(io.netty.channel.ChannelOption<T> option,
                                     T value)
        Specified by:
        setOption in interface io.netty.channel.ChannelConfig
        Overrides:
        setOption in class io.netty.channel.DefaultChannelConfig
      • setActiveOnOpen

        private void setActiveOnOpen​(boolean activeOnOpen)
      • getActiveOnOpen

        boolean getActiveOnOpen()
      • setMessageSizeEstimator

        public IOUringDatagramChannelConfig setMessageSizeEstimator​(io.netty.channel.MessageSizeEstimator estimator)
        Specified by:
        setMessageSizeEstimator in interface io.netty.channel.ChannelConfig
        Specified by:
        setMessageSizeEstimator in interface io.netty.channel.socket.DatagramChannelConfig
        Overrides:
        setMessageSizeEstimator in class io.netty.channel.DefaultChannelConfig
      • setWriteBufferLowWaterMark

        @Deprecated
        public IOUringDatagramChannelConfig setWriteBufferLowWaterMark​(int writeBufferLowWaterMark)
        Deprecated.
        Specified by:
        setWriteBufferLowWaterMark in interface io.netty.channel.ChannelConfig
        Overrides:
        setWriteBufferLowWaterMark in class io.netty.channel.DefaultChannelConfig
      • setWriteBufferHighWaterMark

        @Deprecated
        public IOUringDatagramChannelConfig setWriteBufferHighWaterMark​(int writeBufferHighWaterMark)
        Deprecated.
        Specified by:
        setWriteBufferHighWaterMark in interface io.netty.channel.ChannelConfig
        Overrides:
        setWriteBufferHighWaterMark in class io.netty.channel.DefaultChannelConfig
      • setWriteBufferWaterMark

        public IOUringDatagramChannelConfig setWriteBufferWaterMark​(io.netty.channel.WriteBufferWaterMark writeBufferWaterMark)
        Specified by:
        setWriteBufferWaterMark in interface io.netty.channel.ChannelConfig
        Specified by:
        setWriteBufferWaterMark in interface io.netty.channel.socket.DatagramChannelConfig
        Overrides:
        setWriteBufferWaterMark in class io.netty.channel.DefaultChannelConfig
      • setAutoClose

        public IOUringDatagramChannelConfig setAutoClose​(boolean autoClose)
        Specified by:
        setAutoClose in interface io.netty.channel.ChannelConfig
        Specified by:
        setAutoClose in interface io.netty.channel.socket.DatagramChannelConfig
        Overrides:
        setAutoClose in class io.netty.channel.DefaultChannelConfig
      • setAutoRead

        public IOUringDatagramChannelConfig setAutoRead​(boolean autoRead)
        Specified by:
        setAutoRead in interface io.netty.channel.ChannelConfig
        Specified by:
        setAutoRead in interface io.netty.channel.socket.DatagramChannelConfig
        Overrides:
        setAutoRead in class io.netty.channel.DefaultChannelConfig
      • setRecvByteBufAllocator

        public IOUringDatagramChannelConfig setRecvByteBufAllocator​(io.netty.channel.RecvByteBufAllocator allocator)
        Specified by:
        setRecvByteBufAllocator in interface io.netty.channel.ChannelConfig
        Specified by:
        setRecvByteBufAllocator in interface io.netty.channel.socket.DatagramChannelConfig
        Overrides:
        setRecvByteBufAllocator in class io.netty.channel.DefaultChannelConfig
      • setWriteSpinCount

        public IOUringDatagramChannelConfig setWriteSpinCount​(int writeSpinCount)
        Specified by:
        setWriteSpinCount in interface io.netty.channel.ChannelConfig
        Specified by:
        setWriteSpinCount in interface io.netty.channel.socket.DatagramChannelConfig
        Overrides:
        setWriteSpinCount in class io.netty.channel.DefaultChannelConfig
      • setAllocator

        public IOUringDatagramChannelConfig setAllocator​(io.netty.buffer.ByteBufAllocator allocator)
        Specified by:
        setAllocator in interface io.netty.channel.ChannelConfig
        Specified by:
        setAllocator in interface io.netty.channel.socket.DatagramChannelConfig
        Overrides:
        setAllocator in class io.netty.channel.DefaultChannelConfig
      • setConnectTimeoutMillis

        public IOUringDatagramChannelConfig setConnectTimeoutMillis​(int connectTimeoutMillis)
        Specified by:
        setConnectTimeoutMillis in interface io.netty.channel.ChannelConfig
        Specified by:
        setConnectTimeoutMillis in interface io.netty.channel.socket.DatagramChannelConfig
        Overrides:
        setConnectTimeoutMillis in class io.netty.channel.DefaultChannelConfig
      • setMaxMessagesPerRead

        @Deprecated
        public IOUringDatagramChannelConfig setMaxMessagesPerRead​(int maxMessagesPerRead)
        Deprecated.
        Specified by:
        setMaxMessagesPerRead in interface io.netty.channel.ChannelConfig
        Specified by:
        setMaxMessagesPerRead in interface io.netty.channel.socket.DatagramChannelConfig
        Overrides:
        setMaxMessagesPerRead in class io.netty.channel.DefaultChannelConfig
      • getSendBufferSize

        public int getSendBufferSize()
        Specified by:
        getSendBufferSize in interface io.netty.channel.socket.DatagramChannelConfig
      • setSendBufferSize

        public IOUringDatagramChannelConfig setSendBufferSize​(int sendBufferSize)
        Specified by:
        setSendBufferSize in interface io.netty.channel.socket.DatagramChannelConfig
      • getReceiveBufferSize

        public int getReceiveBufferSize()
        Specified by:
        getReceiveBufferSize in interface io.netty.channel.socket.DatagramChannelConfig
      • setReceiveBufferSize

        public IOUringDatagramChannelConfig setReceiveBufferSize​(int receiveBufferSize)
        Specified by:
        setReceiveBufferSize in interface io.netty.channel.socket.DatagramChannelConfig
      • getTrafficClass

        public int getTrafficClass()
        Specified by:
        getTrafficClass in interface io.netty.channel.socket.DatagramChannelConfig
      • setTrafficClass

        public IOUringDatagramChannelConfig setTrafficClass​(int trafficClass)
        Specified by:
        setTrafficClass in interface io.netty.channel.socket.DatagramChannelConfig
      • isReuseAddress

        public boolean isReuseAddress()
        Specified by:
        isReuseAddress in interface io.netty.channel.socket.DatagramChannelConfig
      • setReuseAddress

        public IOUringDatagramChannelConfig setReuseAddress​(boolean reuseAddress)
        Specified by:
        setReuseAddress in interface io.netty.channel.socket.DatagramChannelConfig
      • isBroadcast

        public boolean isBroadcast()
        Specified by:
        isBroadcast in interface io.netty.channel.socket.DatagramChannelConfig
      • setBroadcast

        public IOUringDatagramChannelConfig setBroadcast​(boolean broadcast)
        Specified by:
        setBroadcast in interface io.netty.channel.socket.DatagramChannelConfig
      • isLoopbackModeDisabled

        public boolean isLoopbackModeDisabled()
        Specified by:
        isLoopbackModeDisabled in interface io.netty.channel.socket.DatagramChannelConfig
      • setLoopbackModeDisabled

        public IOUringDatagramChannelConfig setLoopbackModeDisabled​(boolean loopbackModeDisabled)
        Specified by:
        setLoopbackModeDisabled in interface io.netty.channel.socket.DatagramChannelConfig
      • getTimeToLive

        public int getTimeToLive()
        Specified by:
        getTimeToLive in interface io.netty.channel.socket.DatagramChannelConfig
      • setTimeToLive

        public IOUringDatagramChannelConfig setTimeToLive​(int ttl)
        Specified by:
        setTimeToLive in interface io.netty.channel.socket.DatagramChannelConfig
      • getInterface

        public java.net.InetAddress getInterface()
        Specified by:
        getInterface in interface io.netty.channel.socket.DatagramChannelConfig
      • setInterface

        public IOUringDatagramChannelConfig setInterface​(java.net.InetAddress interfaceAddress)
        Specified by:
        setInterface in interface io.netty.channel.socket.DatagramChannelConfig
      • getNetworkInterface

        public java.net.NetworkInterface getNetworkInterface()
        Specified by:
        getNetworkInterface in interface io.netty.channel.socket.DatagramChannelConfig
      • setNetworkInterface

        public IOUringDatagramChannelConfig setNetworkInterface​(java.net.NetworkInterface networkInterface)
        Specified by:
        setNetworkInterface in interface io.netty.channel.socket.DatagramChannelConfig
      • isReusePort

        public boolean isReusePort()
        Returns true if 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 multiple DatagramChannels to the same port and so receive datagrams with multiple threads. Be aware this method needs be called before ChannelOutboundInvoker.bind(java.net.SocketAddress) to have any affect.
      • isIpTransparent

        public boolean isIpTransparent()
        Returns true if IP_TRANSPARENT is enabled, false otherwise.
      • isFreeBind

        public boolean isFreeBind()
        Returns true if IP_FREEBIND is enabled, false otherwise.
      • setMaxDatagramPayloadSize

        public IOUringDatagramChannelConfig setMaxDatagramPayloadSize​(int maxDatagramSize)
        Set the maximum DatagramPacket size. This will be used to determine if a batch of IORING_IO_RECVMSG should be used when reading from the underlying socket. When batched recvmmsg is used we may be able to read multiple DatagramPackets with one syscall and so greatly improve the performance. This number will be used to slice ByteBufs returned by the used RecvByteBufAllocator. You can use 0 to disable the usage of batching, any other bigger value will enable it.
      • getMaxDatagramPayloadSize

        public int getMaxDatagramPayloadSize()
        Get the maximum DatagramPacket size.