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 Details

    • DEFAULT_RCVBUF_ALLOCATOR

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

      private boolean activeOnOpen
    • maxDatagramSize

      private volatile int maxDatagramSize
  • Constructor Details

  • Method Details

    • getOptions

      public Map<io.netty.channel.ChannelOption<?>,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 InetAddress getInterface()
      Specified by:
      getInterface in interface io.netty.channel.socket.DatagramChannelConfig
    • setInterface

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

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

      public IOUringDatagramChannelConfig setNetworkInterface(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 Channel.bind(java.net.SocketAddress) to have any affect.
    • isIpTransparent

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

      public IOUringDatagramChannelConfig setIpTransparent(boolean ipTransparent)
      If true is used IP_TRANSPARENT is enabled, false for disable it. Default is disabled.
    • isFreeBind

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

      public IOUringDatagramChannelConfig setFreeBind(boolean freeBind)
      If true is used IP_FREEBIND is enabled, false for disable it. Default is disabled.
    • 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.