Class IoUringDatagramChannel

  • All Implemented Interfaces:
    io.netty.channel.Channel, io.netty.channel.ChannelOutboundInvoker, io.netty.channel.socket.DatagramChannel, io.netty.channel.unix.UnixChannel, io.netty.util.AttributeMap, Comparable<io.netty.channel.Channel>

    public final class IoUringDatagramChannel
    extends io.netty.channel.AbstractChannel
    implements io.netty.channel.socket.DatagramChannel
    • Field Detail

      • active

        protected volatile boolean active
    • Constructor Detail

      • IoUringDatagramChannel

        public IoUringDatagramChannel()
        Create a new instance which selects the SocketProtocolFamily to use depending on the Operation Systems default which will be chosen.
      • IoUringDatagramChannel

        public IoUringDatagramChannel​(io.netty.channel.socket.SocketProtocolFamily family)
        Create a new instance using the given SocketProtocolFamily. If null is used it will depend on the Operation Systems default which will be chosen.
      • IoUringDatagramChannel

        public IoUringDatagramChannel​(int fd)
        Create a new instance which selects the SocketProtocolFamily to use depending on the Operation Systems default which will be chosen.
    • Method Detail

      • remoteAddress

        public InetSocketAddress remoteAddress()
        Specified by:
        remoteAddress in interface io.netty.channel.Channel
        Specified by:
        remoteAddress in interface io.netty.channel.socket.DatagramChannel
        Overrides:
        remoteAddress in class io.netty.channel.AbstractChannel
      • localAddress

        public InetSocketAddress localAddress()
        Specified by:
        localAddress in interface io.netty.channel.Channel
        Specified by:
        localAddress in interface io.netty.channel.socket.DatagramChannel
        Overrides:
        localAddress in class io.netty.channel.AbstractChannel
      • metadata

        public io.netty.channel.ChannelMetadata metadata()
        Specified by:
        metadata in interface io.netty.channel.Channel
      • isActive

        public boolean isActive()
        Specified by:
        isActive in interface io.netty.channel.Channel
      • isConnected

        public boolean isConnected()
        Specified by:
        isConnected in interface io.netty.channel.socket.DatagramChannel
      • joinGroup

        public io.netty.channel.ChannelFuture joinGroup​(InetAddress multicastAddress)
        Specified by:
        joinGroup in interface io.netty.channel.socket.DatagramChannel
      • joinGroup

        public io.netty.channel.ChannelFuture joinGroup​(InetAddress multicastAddress,
                                                        io.netty.channel.ChannelPromise promise)
        Specified by:
        joinGroup in interface io.netty.channel.socket.DatagramChannel
      • joinGroup

        public io.netty.channel.ChannelFuture joinGroup​(InetSocketAddress multicastAddress,
                                                        NetworkInterface networkInterface)
        Specified by:
        joinGroup in interface io.netty.channel.socket.DatagramChannel
      • joinGroup

        public io.netty.channel.ChannelFuture joinGroup​(InetSocketAddress multicastAddress,
                                                        NetworkInterface networkInterface,
                                                        io.netty.channel.ChannelPromise promise)
        Specified by:
        joinGroup in interface io.netty.channel.socket.DatagramChannel
      • joinGroup

        public io.netty.channel.ChannelFuture joinGroup​(InetAddress multicastAddress,
                                                        NetworkInterface networkInterface,
                                                        InetAddress source)
        Specified by:
        joinGroup in interface io.netty.channel.socket.DatagramChannel
      • joinGroup

        public io.netty.channel.ChannelFuture joinGroup​(InetAddress multicastAddress,
                                                        NetworkInterface networkInterface,
                                                        InetAddress source,
                                                        io.netty.channel.ChannelPromise promise)
        Specified by:
        joinGroup in interface io.netty.channel.socket.DatagramChannel
      • leaveGroup

        public io.netty.channel.ChannelFuture leaveGroup​(InetAddress multicastAddress)
        Specified by:
        leaveGroup in interface io.netty.channel.socket.DatagramChannel
      • leaveGroup

        public io.netty.channel.ChannelFuture leaveGroup​(InetAddress multicastAddress,
                                                         io.netty.channel.ChannelPromise promise)
        Specified by:
        leaveGroup in interface io.netty.channel.socket.DatagramChannel
      • leaveGroup

        public io.netty.channel.ChannelFuture leaveGroup​(InetSocketAddress multicastAddress,
                                                         NetworkInterface networkInterface)
        Specified by:
        leaveGroup in interface io.netty.channel.socket.DatagramChannel
      • leaveGroup

        public io.netty.channel.ChannelFuture leaveGroup​(InetSocketAddress multicastAddress,
                                                         NetworkInterface networkInterface,
                                                         io.netty.channel.ChannelPromise promise)
        Specified by:
        leaveGroup in interface io.netty.channel.socket.DatagramChannel
      • leaveGroup

        public io.netty.channel.ChannelFuture leaveGroup​(InetAddress multicastAddress,
                                                         NetworkInterface networkInterface,
                                                         InetAddress source)
        Specified by:
        leaveGroup in interface io.netty.channel.socket.DatagramChannel
      • leaveGroup

        public io.netty.channel.ChannelFuture leaveGroup​(InetAddress multicastAddress,
                                                         NetworkInterface networkInterface,
                                                         InetAddress source,
                                                         io.netty.channel.ChannelPromise promise)
        Specified by:
        leaveGroup in interface io.netty.channel.socket.DatagramChannel
      • block

        public io.netty.channel.ChannelFuture block​(InetAddress multicastAddress,
                                                    NetworkInterface networkInterface,
                                                    InetAddress sourceToBlock)
        Specified by:
        block in interface io.netty.channel.socket.DatagramChannel
      • block

        public io.netty.channel.ChannelFuture block​(InetAddress multicastAddress,
                                                    NetworkInterface networkInterface,
                                                    InetAddress sourceToBlock,
                                                    io.netty.channel.ChannelPromise promise)
        Specified by:
        block in interface io.netty.channel.socket.DatagramChannel
      • block

        public io.netty.channel.ChannelFuture block​(InetAddress multicastAddress,
                                                    InetAddress sourceToBlock)
        Specified by:
        block in interface io.netty.channel.socket.DatagramChannel
      • block

        public io.netty.channel.ChannelFuture block​(InetAddress multicastAddress,
                                                    InetAddress sourceToBlock,
                                                    io.netty.channel.ChannelPromise promise)
        Specified by:
        block in interface io.netty.channel.socket.DatagramChannel
      • newUnsafe

        protected io.netty.channel.AbstractChannel.AbstractUnsafe newUnsafe()
        Specified by:
        newUnsafe in class io.netty.channel.AbstractChannel
      • filterOutboundMessage

        protected Object filterOutboundMessage​(Object msg)
      • config

        public io.netty.channel.socket.DatagramChannelConfig config()
        Specified by:
        config in interface io.netty.channel.Channel
        Specified by:
        config in interface io.netty.channel.socket.DatagramChannel
      • isSegmentedDatagramPacketSupported

        public static boolean isSegmentedDatagramPacketSupported()
        Returns true if the usage of SegmentedDatagramPacket is supported.
        Returns:
        true if supported, false otherwise.
      • cancelOutstandingReads

        protected void cancelOutstandingReads​(io.netty.channel.IoRegistration registration,
                                              int numOutstandingReads)
        Cancel all outstanding reads
        Parameters:
        registration - the IoRegistration.
        numOutstandingReads - the number of outstanding reads, or -1 if multi-shot was used.
      • cancelOutstandingWrites

        protected void cancelOutstandingWrites​(io.netty.channel.IoRegistration registration,
                                               int numOutstandingWrites)
        Cancel all outstanding writes
        Parameters:
        registration - the IoRegistration.
        numOutstandingWrites - the number of outstanding writes.
      • socketIsEmpty

        protected boolean socketIsEmpty​(int flags)
        Return if the socket is guaranteed to be empty when the submitted io was executed and the completion event be created.
        Parameters:
        flags - the flags that were part of the completion
        Returns:
        true if empty.
      • nextOpsId

        protected final short nextOpsId()
        Returns the next id that should be used when submitting IoUringIoOps.
        Returns:
        opsId
      • isOpen

        public final boolean isOpen()
        Specified by:
        isOpen in interface io.netty.channel.Channel
      • fd

        public final io.netty.channel.unix.FileDescriptor fd()
        Specified by:
        fd in interface io.netty.channel.unix.UnixChannel
      • isCompatible

        protected boolean isCompatible​(io.netty.channel.EventLoop loop)
        Specified by:
        isCompatible in class io.netty.channel.AbstractChannel
      • newDirectBuffer

        protected final io.netty.buffer.ByteBuf newDirectBuffer​(io.netty.buffer.ByteBuf buf)
      • allowMultiShotPollIn

        protected boolean allowMultiShotPollIn()
      • newDirectBuffer

        protected final io.netty.buffer.ByteBuf newDirectBuffer​(Object holder,
                                                                io.netty.buffer.ByteBuf buf)
      • doBeginRead

        protected final void doBeginRead()
        Specified by:
        doBeginRead in class io.netty.channel.AbstractChannel
      • doWrite

        protected void doWrite​(io.netty.channel.ChannelOutboundBuffer in)
        Specified by:
        doWrite in class io.netty.channel.AbstractChannel
      • scheduleWriteIfNeeded

        protected void scheduleWriteIfNeeded​(io.netty.channel.ChannelOutboundBuffer in,
                                             boolean submitAndRunNow)
      • submitAndRunNow

        protected void submitAndRunNow()
      • registration

        protected final io.netty.channel.IoRegistration registration()
      • doRegister

        protected void doRegister​(io.netty.channel.ChannelPromise promise)
        Overrides:
        doRegister in class io.netty.channel.AbstractChannel
      • doDeregister

        protected final void doDeregister()
        Overrides:
        doDeregister in class io.netty.channel.AbstractChannel
      • checkResolvable

        protected static void checkResolvable​(InetSocketAddress addr)
      • localAddress0

        protected final SocketAddress localAddress0()
        Specified by:
        localAddress0 in class io.netty.channel.AbstractChannel
      • remoteAddress0

        protected final SocketAddress remoteAddress0()
        Specified by:
        remoteAddress0 in class io.netty.channel.AbstractChannel