Class IoUringSharedIovArray

java.lang.Object
io.netty.channel.uring.IoUringSharedIovArray

final class IoUringSharedIovArray extends java.lang.Object
The iovec memory of an IoUringIoHandler, shared by all writes until the next submit.

Each write gets its own empty IovArray that starts after the entries of the previous writes, so the IOV_MAX limit of an IovArray applies to each write and not to all of them together.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final CleanableDirectBuffer
     
    private int
     
    private final ByteBuf
     
    private IovArray
     
    private final int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    IoUringSharedIovArray(int numEntries)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    (package private) void
    Must only be called once the kernel does not read the entries anymore, which is after the submit.
    (package private) boolean
    Returns true if the next write can not add any entry.
    (package private) IovArray
    Returns the empty IovArray for the next write.
    private int
     
    (package private) void
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • cleanable

      private final CleanableDirectBuffer cleanable
    • internalBuffer

      private final ByteBuf internalBuffer
    • numEntries

      private final int numEntries
    • current

      private int current
    • last

      private IovArray last
  • Constructor Details

    • IoUringSharedIovArray

      IoUringSharedIovArray(int numEntries)
  • Method Details

    • nextStart

      private int nextStart()
    • isFull

      boolean isFull()
      Returns true if the next write can not add any entry.
    • next

      IovArray next()
      Returns the empty IovArray for the next write.
    • clear

      void clear()
      Must only be called once the kernel does not read the entries anymore, which is after the submit.
    • release

      void release()