Class AbstractIOUringChannel

java.lang.Object
io.netty.util.DefaultAttributeMap
io.netty.channel.AbstractChannel
io.netty.incubator.channel.uring.AbstractIOUringChannel
All Implemented Interfaces:
io.netty.channel.Channel, io.netty.channel.ChannelOutboundInvoker, io.netty.channel.unix.UnixChannel, io.netty.util.AttributeMap, Comparable<io.netty.channel.Channel>
Direct Known Subclasses:
AbstractIOUringServerChannel, AbstractIOUringStreamChannel, IOUringDatagramChannel

abstract class AbstractIOUringChannel extends io.netty.channel.AbstractChannel implements io.netty.channel.unix.UnixChannel
  • Field Details

    • logger

      private static final io.netty.util.internal.logging.InternalLogger logger
    • METADATA

      private static final io.netty.channel.ChannelMetadata METADATA
    • socket

      final LinuxSocket socket
    • active

      protected volatile boolean active
    • POLL_IN_SCHEDULED

      private static final int POLL_IN_SCHEDULED
      See Also:
    • POLL_OUT_SCHEDULED

      private static final int POLL_OUT_SCHEDULED
      See Also:
    • POLL_RDHUP_SCHEDULED

      private static final int POLL_RDHUP_SCHEDULED
      See Also:
    • WRITE_SCHEDULED

      private static final int WRITE_SCHEDULED
      See Also:
    • READ_SCHEDULED

      private static final int READ_SCHEDULED
      See Also:
    • CONNECT_SCHEDULED

      private static final int CONNECT_SCHEDULED
      See Also:
    • ioState

      private byte ioState
    • numOutstandingWrites

      private short numOutstandingWrites
    • numOutstandingReads

      private short numOutstandingReads
    • delayedClose

      private io.netty.channel.ChannelPromise delayedClose
    • inputClosedSeenErrorOnRead

      private boolean inputClosedSeenErrorOnRead
    • connectPromise

      private io.netty.channel.ChannelPromise connectPromise
      The future of the current connection attempt. If not null, subsequent connection attempts will fail.
    • connectTimeoutFuture

      private ScheduledFuture<?> connectTimeoutFuture
    • requestedRemoteAddress

      private SocketAddress requestedRemoteAddress
    • remoteAddressMemory

      private ByteBuffer remoteAddressMemory
    • msgHdrMemoryArray

      private MsgHdrMemoryArray msgHdrMemoryArray
    • submissionQueue

      private IOUringSubmissionQueue submissionQueue
    • local

      private volatile SocketAddress local
    • remote

      private volatile SocketAddress remote
  • Constructor Details

    • AbstractIOUringChannel

      AbstractIOUringChannel(io.netty.channel.Channel parent, LinuxSocket socket)
    • AbstractIOUringChannel

      AbstractIOUringChannel(io.netty.channel.Channel parent, LinuxSocket socket, boolean active)
    • AbstractIOUringChannel

      AbstractIOUringChannel(io.netty.channel.Channel parent, LinuxSocket fd, SocketAddress remote)
  • Method Details

    • isOpen

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

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

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

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

      protected abstract AbstractIOUringChannel.AbstractUringUnsafe newUnsafe()
      Specified by:
      newUnsafe in class io.netty.channel.AbstractChannel
    • ioUringUnsafe

    • 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)
    • newDirectBuffer0

      private static io.netty.buffer.ByteBuf newDirectBuffer0(Object holder, io.netty.buffer.ByteBuf buf, io.netty.buffer.ByteBufAllocator alloc, int capacity)
    • doDisconnect

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

      IOUringSubmissionQueue submissionQueue()
    • freeRemoteAddressMemory

      private void freeRemoteAddressMemory()
    • freeMsgHdrArray

      private void freeMsgHdrArray()
    • ioScheduled

      boolean ioScheduled()
    • doClose

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

      protected 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
    • scheduleWrite

      private int scheduleWrite(io.netty.channel.ChannelOutboundBuffer in)
    • schedulePollOut

      private void schedulePollOut()
    • schedulePollRdHup

      final void schedulePollRdHup()
    • resetCachedAddresses

      final void resetCachedAddresses()
    • submitConnect

      private void submitConnect(InetSocketAddress inetSocketAddress)
    • filterOutboundMessage

      protected Object filterOutboundMessage(Object msg)
      Overrides:
      filterOutboundMessage in class io.netty.channel.AbstractChannel
    • doRegister

      protected void doRegister() throws Exception
      Overrides:
      doRegister in class io.netty.channel.AbstractChannel
      Throws:
      Exception
    • 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 SocketAddress localAddress0()
      Specified by:
      localAddress0 in class io.netty.channel.AbstractChannel
    • remoteAddress0

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

      private static boolean isAllowHalfClosure(io.netty.channel.ChannelConfig config)
    • cancelConnectTimeoutFuture

      private void cancelConnectTimeoutFuture()
    • computeRemote

      private void computeRemote()
    • shouldBreakIoUringInReady

      private boolean shouldBreakIoUringInReady(io.netty.channel.ChannelConfig config)
    • clearPollFlag

      public void clearPollFlag(int pollMask)