Class IoUringDatagramChannel.IoUringDatagramChannelUnsafe
java.lang.Object
io.netty.channel.AbstractChannel.AbstractUnsafe
io.netty.channel.uring.AbstractIoUringChannel.AbstractUringUnsafe
io.netty.channel.uring.IoUringDatagramChannel.IoUringDatagramChannelUnsafe
- All Implemented Interfaces:
Channel.Unsafe, IoHandle, IoUringIoHandle, AutoCloseable
- Enclosing class:
IoUringDatagramChannel
private final class IoUringDatagramChannel.IoUringDatagramChannelUnsafe
extends AbstractIoUringChannel.AbstractUringUnsafe
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate final class -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) voidconnectComplete(byte op, int res, int flags, long data) Called once a connect was completed.protected voidreadComplete0(byte op, int res, int flags, short data, int outstanding) Called once a read was completed.private booleanremoveFromOutboundBuffer(ChannelOutboundBuffer outboundBuffer, int res, String errormsg) protected intscheduleRead0(boolean first, boolean socketIsEmpty) Schedule a read and returns the number ofAbstractIoUringChannel.AbstractUringUnsafe.readComplete(byte, int, int, short)calls that are expected because of the scheduled read.private intscheduleRecvmsg(ByteBuf byteBuf, int numDatagram, int datagramSize) private booleanscheduleRecvmsg0(long bufferAddress, int bufferLength, boolean first, boolean more) private booleanscheduleSendmsg(ByteBuf data, InetSocketAddress remoteAddress, long bufferAddress, int bufferLength, int segmentSize, boolean first) private booleanscheduleWrite(Object msg, boolean first) 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 intSchedule 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.voidCalled once thisIoHandlewas unregistered and so will not receive any more events viaIoHandle.handle(IoRegistration, IoEvent).(package private) booleanwriteComplete0(byte op, int res, int flags, long data, int outstanding) Called once a write was completed.Methods inherited from class AbstractIoUringChannel.AbstractUringUnsafe
cancelComplete0, canCloseNow0, close, close, connect, deregister, flush0, handle, isReadMultishot, recvBufAllocHandle, schedulePollIn, scheduleRead, shutdownInputMethods 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 Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface IoHandle
registered
-
Field Details
-
writeProcessor
-
readBuffer
-
-
Constructor Details
-
IoUringDatagramChannelUnsafe
private IoUringDatagramChannelUnsafe()
-
-
Method Details
-
readComplete0
protected void readComplete0(byte op, int res, int flags, short data, int outstanding) Description copied from class:AbstractIoUringChannel.AbstractUringUnsafeCalled once a read was completed.- Specified by:
readComplete0in classAbstractIoUringChannel.AbstractUringUnsafe
-
scheduleRead0
protected int scheduleRead0(boolean first, boolean socketIsEmpty) Description copied from class:AbstractIoUringChannel.AbstractUringUnsafeSchedule a read and returns the number ofAbstractIoUringChannel.AbstractUringUnsafe.readComplete(byte, int, int, short)calls that are expected because of the scheduled read.- Specified by:
scheduleRead0in classAbstractIoUringChannel.AbstractUringUnsafe- Parameters:
first-trueif this is the first read of a read loop.socketIsEmpty-trueif the socket is guaranteed to be empty,falseotherwise.- Returns:
- the number of
AbstractIoUringChannel.AbstractUringUnsafe.readComplete(byte, int, int, short)calls expected or-1ifAbstractIoUringChannel.AbstractUringUnsafe.readComplete(byte, int, int, short)is called until the read is cancelled (multi-shot).
-
scheduleRecvmsg
-
scheduleRecvmsg0
private boolean scheduleRecvmsg0(long bufferAddress, int bufferLength, boolean first, boolean more) -
writeComplete0
boolean writeComplete0(byte op, int res, int flags, long data, int outstanding) Description copied from class:AbstractIoUringChannel.AbstractUringUnsafeCalled once a write was completed.- Specified by:
writeComplete0in classAbstractIoUringChannel.AbstractUringUnsafe- 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.
-
removeFromOutboundBuffer
private boolean removeFromOutboundBuffer(ChannelOutboundBuffer outboundBuffer, int res, String errormsg) -
connectComplete
void connectComplete(byte op, int res, int flags, long data) Description copied from class:AbstractIoUringChannel.AbstractUringUnsafeCalled once a connect was completed.- Overrides:
connectCompletein classAbstractIoUringChannel.AbstractUringUnsafe- Parameters:
op- the op code.res- the result.flags- the flags.data- the data that was passed when submitting the op.
-
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.- Specified by:
scheduleWriteMultiplein classAbstractIoUringChannel.AbstractUringUnsafe
-
scheduleWriteSingle
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.- Specified by:
scheduleWriteSinglein classAbstractIoUringChannel.AbstractUringUnsafe
-
scheduleWrite
-
scheduleSendmsg
private boolean scheduleSendmsg(ByteBuf data, InetSocketAddress remoteAddress, long bufferAddress, int bufferLength, int segmentSize, boolean first) -
unregistered
public void unregistered()Description copied from interface:IoHandleCalled once thisIoHandlewas unregistered and so will not receive any more events viaIoHandle.handle(IoRegistration, IoEvent).- Specified by:
unregisteredin interfaceIoHandle- Overrides:
unregisteredin classAbstractIoUringChannel.AbstractUringUnsafe
-