Class IoUringSocketChannel

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

    public final class IoUringSocketChannel
    extends io.netty.channel.AbstractChannel
    implements io.netty.channel.socket.SocketChannel
    • Nested Class Summary

      • Nested classes/interfaces inherited from class io.netty.channel.AbstractChannel

        io.netty.channel.AbstractChannel.AbstractUnsafe
      • Nested classes/interfaces inherited from interface io.netty.channel.Channel

        io.netty.channel.Channel.Unsafe
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean active  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void cancelOutstandingReads​(io.netty.channel.IoRegistration registration, int numOutstandingReads)
      Cancel all outstanding reads
      protected void cancelOutstandingWrites​(io.netty.channel.IoRegistration registration, int numOutstandingWrites)
      Cancel all outstanding writes
      protected static void checkResolvable​(InetSocketAddress addr)  
      io.netty.channel.socket.SocketChannelConfig config()  
      protected void doBeginRead()  
      protected void doBind​(SocketAddress local)  
      protected void doClose()  
      protected void doDeregister()  
      protected void doDisconnect()  
      protected void doRegister​(io.netty.channel.ChannelPromise promise)  
      protected void doShutdownOutput()  
      protected void doWrite​(io.netty.channel.ChannelOutboundBuffer in)  
      io.netty.channel.unix.FileDescriptor fd()  
      protected Object filterOutboundMessage​(Object msg)  
      boolean isActive()  
      protected boolean isCompatible​(io.netty.channel.EventLoop loop)  
      boolean isInputShutdown()  
      boolean isOpen()  
      boolean isOutputShutdown()  
      boolean isShutdown()  
      InetSocketAddress localAddress()  
      protected SocketAddress localAddress0()  
      io.netty.channel.ChannelMetadata metadata()  
      protected io.netty.buffer.ByteBuf newDirectBuffer​(io.netty.buffer.ByteBuf buf)  
      protected io.netty.buffer.ByteBuf newDirectBuffer​(Object holder, io.netty.buffer.ByteBuf buf)  
      protected io.netty.channel.uring.AbstractIoUringChannel.AbstractUringUnsafe newUnsafe()  
      protected short nextOpsId()
      Returns the next id that should be used when submitting IoUringIoOps.
      io.netty.channel.socket.ServerSocketChannel parent()  
      protected io.netty.channel.IoRegistration registration()  
      InetSocketAddress remoteAddress()  
      protected SocketAddress remoteAddress0()  
      protected void scheduleWriteIfNeeded​(io.netty.channel.ChannelOutboundBuffer in, boolean submitAndRunNow)  
      io.netty.channel.ChannelFuture shutdown()  
      io.netty.channel.ChannelFuture shutdown​(io.netty.channel.ChannelPromise promise)  
      io.netty.channel.ChannelFuture shutdownInput()  
      io.netty.channel.ChannelFuture shutdownInput​(io.netty.channel.ChannelPromise promise)  
      io.netty.channel.ChannelFuture shutdownOutput()  
      io.netty.channel.ChannelFuture shutdownOutput​(io.netty.channel.ChannelPromise promise)  
      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.
      protected void submitAndRunNow()  
      • Methods inherited from class io.netty.channel.AbstractChannel

        closeFuture, compareTo, doRegister, equals, eventLoop, hashCode, id, invalidateLocalAddress, invalidateRemoteAddress, isRegistered, maxMessagesPerWrite, newChannelPipeline, newId, pipeline, toString, unsafe, validateFileRegion, voidPromise
      • Methods inherited from class io.netty.util.DefaultAttributeMap

        attr, hasAttr
      • Methods inherited from interface io.netty.util.AttributeMap

        attr, hasAttr
      • Methods inherited from interface io.netty.channel.Channel

        alloc, bind, bind, bytesBeforeUnwritable, bytesBeforeWritable, close, close, closeFuture, connect, connect, connect, connect, deregister, deregister, disconnect, disconnect, eventLoop, flush, getOption, id, isActive, isOpen, isRegistered, isWritable, metadata, newFailedFuture, newProgressivePromise, newPromise, newSucceededFuture, pipeline, read, setOption, unsafe, voidPromise, write, write, writeAndFlush, writeAndFlush
      • Methods inherited from interface io.netty.channel.socket.DuplexChannel

        isInputShutdown, isOutputShutdown, isShutdown, shutdown, shutdown, shutdownInput, shutdownInput, shutdownOutput, shutdownOutput
    • Field Detail

      • active

        protected volatile boolean active
    • Constructor Detail

      • IoUringSocketChannel

        public IoUringSocketChannel()
    • Method Detail

      • parent

        public io.netty.channel.socket.ServerSocketChannel parent()
        Specified by:
        parent in interface io.netty.channel.Channel
        Specified by:
        parent in interface io.netty.channel.socket.SocketChannel
        Overrides:
        parent in class io.netty.channel.AbstractChannel
      • config

        public io.netty.channel.socket.SocketChannelConfig config()
        Specified by:
        config in interface io.netty.channel.Channel
        Specified by:
        config in interface io.netty.channel.socket.SocketChannel
      • remoteAddress

        public InetSocketAddress remoteAddress()
        Specified by:
        remoteAddress in interface io.netty.channel.Channel
        Specified by:
        remoteAddress in interface io.netty.channel.socket.SocketChannel
        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.SocketChannel
        Overrides:
        localAddress in class io.netty.channel.AbstractChannel
      • metadata

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

        protected final io.netty.channel.uring.AbstractIoUringChannel.AbstractUringUnsafe newUnsafe()
        Specified by:
        newUnsafe in class io.netty.channel.AbstractChannel
      • shutdown

        public final io.netty.channel.ChannelFuture shutdown()
        Specified by:
        shutdown in interface io.netty.channel.socket.DuplexChannel
      • shutdown

        public final io.netty.channel.ChannelFuture shutdown​(io.netty.channel.ChannelPromise promise)
        Specified by:
        shutdown in interface io.netty.channel.socket.DuplexChannel
      • doShutdownOutput

        protected final void doShutdownOutput()
                                       throws Exception
        Overrides:
        doShutdownOutput in class io.netty.channel.AbstractChannel
        Throws:
        Exception
      • isOutputShutdown

        public final boolean isOutputShutdown()
        Specified by:
        isOutputShutdown in interface io.netty.channel.socket.DuplexChannel
      • isInputShutdown

        public final boolean isInputShutdown()
        Specified by:
        isInputShutdown in interface io.netty.channel.socket.DuplexChannel
      • isShutdown

        public final boolean isShutdown()
        Specified by:
        isShutdown in interface io.netty.channel.socket.DuplexChannel
      • shutdownOutput

        public final io.netty.channel.ChannelFuture shutdownOutput()
        Specified by:
        shutdownOutput in interface io.netty.channel.socket.DuplexChannel
      • shutdownOutput

        public final io.netty.channel.ChannelFuture shutdownOutput​(io.netty.channel.ChannelPromise promise)
        Specified by:
        shutdownOutput in interface io.netty.channel.socket.DuplexChannel
      • shutdownInput

        public final io.netty.channel.ChannelFuture shutdownInput()
        Specified by:
        shutdownInput in interface io.netty.channel.socket.DuplexChannel
      • shutdownInput

        public final io.netty.channel.ChannelFuture shutdownInput​(io.netty.channel.ChannelPromise promise)
        Specified by:
        shutdownInput in interface io.netty.channel.socket.DuplexChannel
      • doRegister

        protected final void doRegister​(io.netty.channel.ChannelPromise promise)
      • filterOutboundMessage

        protected Object filterOutboundMessage​(Object msg)
      • cancelOutstandingReads

        protected final 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 final 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.
      • submitAndRunNow

        protected void submitAndRunNow()
      • 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
      • isActive

        public boolean isActive()
        Specified by:
        isActive 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)
      • newDirectBuffer

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

        protected void doDisconnect()
                             throws Exception
        Specified by:
        doDisconnect in class io.netty.channel.AbstractChannel
        Throws:
        Exception
      • doClose

        protected void doClose()
                        throws Exception
        Specified by:
        doClose in class io.netty.channel.AbstractChannel
        Throws:
        Exception
      • 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)
      • registration

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

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

        protected void doBind​(SocketAddress local)
                       throws Exception
        Specified by:
        doBind in class io.netty.channel.AbstractChannel
        Throws:
        Exception
      • 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