Package io.netty.incubator.channel.uring
Class IOUringDatagramChannel.IOUringDatagramChannelUnsafe
- java.lang.Object
-
- io.netty.incubator.channel.uring.AbstractIOUringChannel.AbstractUringUnsafe
-
- io.netty.incubator.channel.uring.IOUringDatagramChannel.IOUringDatagramChannelUnsafe
-
- All Implemented Interfaces:
io.netty.channel.Channel.Unsafe
- Enclosing class:
- IOUringDatagramChannel
final class IOUringDatagramChannel.IOUringDatagramChannelUnsafe extends AbstractIOUringChannel.AbstractUringUnsafe
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
IOUringDatagramChannel.IOUringDatagramChannelUnsafe.WriteProcessor
-
Field Summary
Fields Modifier and Type Field Description private io.netty.buffer.ByteBuf
readBuffer
private MsgHdrMemoryArray
recvmsgHdrs
private MsgHdrMemoryArray
sendmsgHdrs
private int[]
sendmsgResArray
private IOUringDatagramChannel.IOUringDatagramChannelUnsafe.WriteProcessor
writeProcessor
-
Constructor Summary
Constructors Constructor Description IOUringDatagramChannelUnsafe()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
connectComplete(int res)
Connect was completed.private void
readComplete(io.netty.channel.ChannelPipeline pipeline, IOUringRecvByteAllocatorHandle allocHandle, io.netty.buffer.ByteBuf byteBuf, int res)
protected void
readComplete0(int res, int data, int outstanding)
Called once a read was completed.private void
recvmsgComplete(io.netty.channel.ChannelPipeline pipeline, IOUringRecvByteAllocatorHandle allocHandle, io.netty.buffer.ByteBuf byteBuf, int res, int idx, int outstanding)
(package private) void
releaseBuffers()
private boolean
removeFromOutboundBuffer(io.netty.channel.ChannelOutboundBuffer outboundBuffer, int res, java.lang.String errormsg)
protected int
scheduleRead0()
Schedule a read and returns the number ofAbstractIOUringChannel.AbstractUringUnsafe.readComplete(int, int)
calls that are expected because of the scheduled read.private int
scheduleRecvmsg(io.netty.buffer.ByteBuf byteBuf, int numDatagram, int datagramSize)
private boolean
scheduleRecvmsg0(IOUringSubmissionQueue submissionQueue, long bufferAddress, int bufferLength)
private boolean
scheduleSendmsg(java.net.InetSocketAddress remoteAddress, long bufferAddress, int bufferLength, int segmentSize)
private boolean
scheduleWrite(java.lang.Object msg, boolean forceSendmsg)
protected int
scheduleWriteMultiple(io.netty.channel.ChannelOutboundBuffer in)
Schedule the write of multiple messages in theChannelOutboundBuffer
and returns the number ofAbstractIOUringChannel.AbstractUringUnsafe.writeComplete(int, int)
calls that are expected because of the scheduled write.protected int
scheduleWriteSingle(java.lang.Object msg)
Schedule the write of a single message and returns the number ofAbstractIOUringChannel.AbstractUringUnsafe.writeComplete(int, int)
calls that are expected because of the scheduled write(package private) boolean
writeComplete0(int res, int data, int outstanding)
Called once a write was completed.-
Methods inherited from class io.netty.incubator.channel.uring.AbstractIOUringChannel.AbstractUringUnsafe
close, connect, flush0, newIOUringHandle, pollIn, pollOut, pollRdHup, processDelayedClose, readComplete, recvBufAllocHandle, schedulePollIn, scheduleRead, shutdownInput, writeComplete
-
-
-
-
Field Detail
-
recvmsgHdrs
private final MsgHdrMemoryArray recvmsgHdrs
-
sendmsgHdrs
private final MsgHdrMemoryArray sendmsgHdrs
-
sendmsgResArray
private final int[] sendmsgResArray
-
writeProcessor
private final IOUringDatagramChannel.IOUringDatagramChannelUnsafe.WriteProcessor writeProcessor
-
readBuffer
private io.netty.buffer.ByteBuf readBuffer
-
-
Method Detail
-
releaseBuffers
void releaseBuffers()
-
readComplete0
protected void readComplete0(int res, int data, int outstanding)
Description copied from class:AbstractIOUringChannel.AbstractUringUnsafe
Called once a read was completed.- Specified by:
readComplete0
in classAbstractIOUringChannel.AbstractUringUnsafe
-
readComplete
private void readComplete(io.netty.channel.ChannelPipeline pipeline, IOUringRecvByteAllocatorHandle allocHandle, io.netty.buffer.ByteBuf byteBuf, int res) throws java.io.IOException
- Throws:
java.io.IOException
-
recvmsgComplete
private void recvmsgComplete(io.netty.channel.ChannelPipeline pipeline, IOUringRecvByteAllocatorHandle allocHandle, io.netty.buffer.ByteBuf byteBuf, int res, int idx, int outstanding) throws java.io.IOException
- Throws:
java.io.IOException
-
scheduleRead0
protected int scheduleRead0()
Description copied from class:AbstractIOUringChannel.AbstractUringUnsafe
Schedule a read and returns the number ofAbstractIOUringChannel.AbstractUringUnsafe.readComplete(int, int)
calls that are expected because of the scheduled read.- Specified by:
scheduleRead0
in classAbstractIOUringChannel.AbstractUringUnsafe
-
scheduleRecvmsg
private int scheduleRecvmsg(io.netty.buffer.ByteBuf byteBuf, int numDatagram, int datagramSize)
-
scheduleRecvmsg0
private boolean scheduleRecvmsg0(IOUringSubmissionQueue submissionQueue, long bufferAddress, int bufferLength)
-
writeComplete0
boolean writeComplete0(int res, int data, int outstanding)
Description copied from class:AbstractIOUringChannel.AbstractUringUnsafe
Called once a write was completed.- Specified by:
writeComplete0
in classAbstractIOUringChannel.AbstractUringUnsafe
-
removeFromOutboundBuffer
private boolean removeFromOutboundBuffer(io.netty.channel.ChannelOutboundBuffer outboundBuffer, int res, java.lang.String errormsg)
-
connectComplete
void connectComplete(int res)
Description copied from class:AbstractIOUringChannel.AbstractUringUnsafe
Connect was completed.- Overrides:
connectComplete
in classAbstractIOUringChannel.AbstractUringUnsafe
-
scheduleWriteMultiple
protected int scheduleWriteMultiple(io.netty.channel.ChannelOutboundBuffer in)
Description copied from class:AbstractIOUringChannel.AbstractUringUnsafe
Schedule the write of multiple messages in theChannelOutboundBuffer
and returns the number ofAbstractIOUringChannel.AbstractUringUnsafe.writeComplete(int, int)
calls that are expected because of the scheduled write.- Specified by:
scheduleWriteMultiple
in classAbstractIOUringChannel.AbstractUringUnsafe
-
scheduleWriteSingle
protected int scheduleWriteSingle(java.lang.Object msg)
Description copied from class:AbstractIOUringChannel.AbstractUringUnsafe
Schedule the write of a single message and returns the number ofAbstractIOUringChannel.AbstractUringUnsafe.writeComplete(int, int)
calls that are expected because of the scheduled write- Specified by:
scheduleWriteSingle
in classAbstractIOUringChannel.AbstractUringUnsafe
-
scheduleWrite
private boolean scheduleWrite(java.lang.Object msg, boolean forceSendmsg)
-
scheduleSendmsg
private boolean scheduleSendmsg(java.net.InetSocketAddress remoteAddress, long bufferAddress, int bufferLength, int segmentSize)
-
-