Class IoUringSocketChannel.IoUringSocketUnsafe
java.lang.Object
io.netty.channel.AbstractChannel.AbstractUnsafe
io.netty.channel.uring.AbstractIoUringChannel.AbstractUringUnsafe
io.netty.channel.uring.AbstractIoUringStreamChannel.IoUringStreamUnsafe
io.netty.channel.uring.IoUringSocketChannel.IoUringSocketUnsafe
- All Implemented Interfaces:
Channel.Unsafe, IoHandle, IoUringIoHandle, java.lang.AutoCloseable
- Enclosing class:
IoUringSocketChannel
private final class IoUringSocketChannel.IoUringSocketUnsafe
extends AbstractIoUringStreamChannel.IoUringStreamUnsafe
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate PendingZeroCopyWritesHolds buffers that we can't release yet as the kernel still holds a reference to these.Fields inherited from class AbstractIoUringChannel.AbstractUringUnsafe
currentWrite, originalOutboundBuffer, retainedWriteBuffers -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ChannelOutboundBuffer.MessageProcessorfilterWriteMultiple(IovArray iovArray) private booleanhandleWriteCompleteZeroCopy(byte op, int res, int flags, long data) private long(package private) java.util.List<ReferenceCounted> protected intSchedule the write of multiple messages in theChannelOutboundBufferand returns the number ofAbstractIoUringChannel.AbstractUringUnsafe.writeComplete(byte, int, int, long)calls that are expected because of the scheduled write.protected intscheduleWriteSingle(java.lang.Object msg) Schedule the write of a single message and returns the number ofAbstractIoUringChannel.AbstractUringUnsafe.writeComplete(byte, int, int, long)calls that are expected because of the scheduled write.private voidtakeSendZCBuffers(long data) (package private) booleanwriteComplete0(byte op, int res, int flags, long data, int outstanding) Called once a write was completed.Methods inherited from class AbstractIoUringStreamChannel.IoUringStreamUnsafe
handleReadException, readComplete0, scheduleRead0, unregisteredMethods inherited from class AbstractIoUringChannel.AbstractUringUnsafe
cancelComplete0, canCloseNow0, close, close, connect, connectComplete, deregister, flush0, handle, isReadMultishot, prepareToDiscardOutboundMessages, recvBufAllocHandle, releaseWriteBuffers, schedulePollIn, scheduleRead, shutdownInput, submitWriteMethods inherited from class AbstractChannel.AbstractUnsafe
annotateConnectException, beginRead, bind, close, closeForcibly, closeIfClosed, disconnect, ensureOpen, flush, handleWriteError, localAddress, outboundBuffer, prepareToClose, register, remoteAddress, safeSetFailure, safeSetSuccess, shutdownOutput, voidPromise, writeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface IoHandle
registered
-
Field Details
-
pendingZeroCopyWrites
Holds buffers that we can't release yet as the kernel still holds a reference to these.
-
-
Constructor Details
-
IoUringSocketUnsafe
private IoUringSocketUnsafe()
-
-
Method Details
-
scheduleWriteSingle
protected int scheduleWriteSingle(java.lang.Object msg) Description copied from class:AbstractIoUringChannel.AbstractUringUnsafeSchedule the write of a single message and returns the number ofAbstractIoUringChannel.AbstractUringUnsafe.writeComplete(byte, int, int, long)calls that are expected because of the scheduled write.- Overrides:
scheduleWriteSinglein classAbstractIoUringStreamChannel.IoUringStreamUnsafe
-
scheduleWriteMultiple
Description copied from class:AbstractIoUringChannel.AbstractUringUnsafeSchedule the write of multiple messages in theChannelOutboundBufferand returns the number ofAbstractIoUringChannel.AbstractUringUnsafe.writeComplete(byte, int, int, long)calls that are expected because of the scheduled write.- Overrides:
scheduleWriteMultiplein classAbstractIoUringStreamChannel.IoUringStreamUnsafe
-
filterWriteMultiple
- Overrides:
filterWriteMultiplein classAbstractIoUringStreamChannel.IoUringStreamUnsafe
-
nextZeroCopyUserData
private long nextZeroCopyUserData() -
retainWriteBuffers
- Overrides:
retainWriteBuffersin classAbstractIoUringStreamChannel.IoUringStreamUnsafe
-
writeComplete0
boolean writeComplete0(byte op, int res, int flags, long data, int outstanding) Description copied from class:AbstractIoUringChannel.AbstractUringUnsafeCalled once a write was completed.- Overrides:
writeComplete0in classAbstractIoUringStreamChannel.IoUringStreamUnsafe- Parameters:
op- the op coderes- the result.flags- the flags.data- the data that was passed when submitting the op.outstanding- the outstanding write completions.
-
takeSendZCBuffers
private void takeSendZCBuffers(long data) -
handleWriteCompleteZeroCopy
private boolean handleWriteCompleteZeroCopy(byte op, int res, int flags, long data)
-