Package io.netty.channel.uring
Class IoUringDomainSocketChannel
- java.lang.Object
-
- io.netty.util.DefaultAttributeMap
-
- io.netty.channel.AbstractChannel
-
- io.netty.channel.uring.IoUringDomainSocketChannel
-
- All Implemented Interfaces:
io.netty.channel.Channel,io.netty.channel.ChannelOutboundInvoker,io.netty.channel.socket.DuplexChannel,io.netty.channel.unix.DomainSocketChannel,io.netty.channel.unix.UnixChannel,io.netty.util.AttributeMap,Comparable<io.netty.channel.Channel>
public final class IoUringDomainSocketChannel extends io.netty.channel.AbstractChannel implements io.netty.channel.unix.DomainSocketChannelDomainSocketChannelimplementation that uses linux io_uring
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanactive
-
Constructor Summary
Constructors Constructor Description IoUringDomainSocketChannel()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanallowMultiShotPollIn()protected voidcancelOutstandingReads(io.netty.channel.IoRegistration registration, int numOutstandingReads)Cancel all outstanding readsprotected voidcancelOutstandingWrites(io.netty.channel.IoRegistration registration, int numOutstandingWrites)Cancel all outstanding writesprotected static voidcheckResolvable(InetSocketAddress addr)io.netty.channel.unix.DomainSocketChannelConfigconfig()protected voiddoBeginRead()protected voiddoBind(SocketAddress local)protected voiddoClose()protected voiddoDeregister()protected voiddoDisconnect()protected voiddoRegister(io.netty.channel.ChannelPromise promise)protected voiddoShutdownOutput()protected voiddoWrite(io.netty.channel.ChannelOutboundBuffer in)io.netty.channel.unix.FileDescriptorfd()protected ObjectfilterOutboundMessage(Object msg)booleanisActive()protected booleanisCompatible(io.netty.channel.EventLoop loop)booleanisInputShutdown()booleanisOpen()booleanisOutputShutdown()booleanisShutdown()io.netty.channel.unix.DomainSocketAddresslocalAddress()protected SocketAddresslocalAddress0()io.netty.channel.ChannelMetadatametadata()protected io.netty.buffer.ByteBufnewDirectBuffer(io.netty.buffer.ByteBuf buf)protected io.netty.buffer.ByteBufnewDirectBuffer(Object holder, io.netty.buffer.ByteBuf buf)protected io.netty.channel.uring.AbstractIoUringChannel.AbstractUringUnsafenewUnsafe()protected shortnextOpsId()Returns the next id that should be used when submittingIoUringIoOps.io.netty.channel.unix.PeerCredentialspeerCredentials()Returns the unix credentials (uid, gid, pid) of the peer SO_PEERCREDprotected io.netty.channel.IoRegistrationregistration()io.netty.channel.unix.DomainSocketAddressremoteAddress()protected SocketAddressremoteAddress0()protected voidscheduleWriteIfNeeded(io.netty.channel.ChannelOutboundBuffer in, boolean submitAndRunNow)io.netty.channel.ChannelFutureshutdown()io.netty.channel.ChannelFutureshutdown(io.netty.channel.ChannelPromise promise)io.netty.channel.ChannelFutureshutdownInput()io.netty.channel.ChannelFutureshutdownInput(io.netty.channel.ChannelPromise promise)io.netty.channel.ChannelFutureshutdownOutput()io.netty.channel.ChannelFutureshutdownOutput(io.netty.channel.ChannelPromise promise)protected booleansocketIsEmpty(int flags)Return if the socket is guaranteed to be empty when the submitted io was executed and the completion event be created.protected voidsubmitAndRunNow()-
Methods inherited from class io.netty.channel.AbstractChannel
closeFuture, compareTo, doRegister, equals, eventLoop, hashCode, id, invalidateLocalAddress, invalidateRemoteAddress, isRegistered, maxMessagesPerWrite, newChannelPipeline, newId, parent, pipeline, toString, unsafe, validateFileRegion, voidPromise
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.netty.channel.Channel
alloc, bind, bind, bytesBeforeUnwritable, bytesBeforeWritable, close, close, closeFuture, connect, connect, connect, connect, deregister, deregister, disconnect, disconnect, eventLoop, flush, getOption, id, isActive, isOpen, isRegistered, isWritable, metadata, newFailedFuture, newProgressivePromise, newPromise, newSucceededFuture, parent, pipeline, read, setOption, unsafe, voidPromise, write, write, writeAndFlush, writeAndFlush
-
Methods inherited from interface java.lang.Comparable
compareTo
-
-
-
-
Method Detail
-
config
public io.netty.channel.unix.DomainSocketChannelConfig config()
- Specified by:
configin interfaceio.netty.channel.Channel- Specified by:
configin interfaceio.netty.channel.unix.DomainSocketChannel
-
localAddress
public io.netty.channel.unix.DomainSocketAddress localAddress()
- Specified by:
localAddressin interfaceio.netty.channel.Channel- Specified by:
localAddressin interfaceio.netty.channel.unix.DomainSocketChannel- Overrides:
localAddressin classio.netty.channel.AbstractChannel
-
remoteAddress
public io.netty.channel.unix.DomainSocketAddress remoteAddress()
- Specified by:
remoteAddressin interfaceio.netty.channel.Channel- Specified by:
remoteAddressin interfaceio.netty.channel.unix.DomainSocketChannel- Overrides:
remoteAddressin classio.netty.channel.AbstractChannel
-
peerCredentials
public io.netty.channel.unix.PeerCredentials peerCredentials() throws IOExceptionReturns the unix credentials (uid, gid, pid) of the peer SO_PEERCRED- Throws:
IOException
-
newUnsafe
protected io.netty.channel.uring.AbstractIoUringChannel.AbstractUringUnsafe newUnsafe()
-
allowMultiShotPollIn
protected boolean allowMultiShotPollIn()
-
metadata
public io.netty.channel.ChannelMetadata metadata()
- Specified by:
metadatain interfaceio.netty.channel.Channel
-
shutdown
public final io.netty.channel.ChannelFuture shutdown()
- Specified by:
shutdownin interfaceio.netty.channel.socket.DuplexChannel
-
shutdown
public final io.netty.channel.ChannelFuture shutdown(io.netty.channel.ChannelPromise promise)
- Specified by:
shutdownin interfaceio.netty.channel.socket.DuplexChannel
-
doShutdownOutput
protected final void doShutdownOutput() throws Exception- Overrides:
doShutdownOutputin classio.netty.channel.AbstractChannel- Throws:
Exception
-
isOutputShutdown
public final boolean isOutputShutdown()
- Specified by:
isOutputShutdownin interfaceio.netty.channel.socket.DuplexChannel
-
isInputShutdown
public final boolean isInputShutdown()
- Specified by:
isInputShutdownin interfaceio.netty.channel.socket.DuplexChannel
-
isShutdown
public final boolean isShutdown()
- Specified by:
isShutdownin interfaceio.netty.channel.socket.DuplexChannel
-
shutdownOutput
public final io.netty.channel.ChannelFuture shutdownOutput()
- Specified by:
shutdownOutputin interfaceio.netty.channel.socket.DuplexChannel
-
shutdownOutput
public final io.netty.channel.ChannelFuture shutdownOutput(io.netty.channel.ChannelPromise promise)
- Specified by:
shutdownOutputin interfaceio.netty.channel.socket.DuplexChannel
-
shutdownInput
public final io.netty.channel.ChannelFuture shutdownInput()
- Specified by:
shutdownInputin interfaceio.netty.channel.socket.DuplexChannel
-
shutdownInput
public final io.netty.channel.ChannelFuture shutdownInput(io.netty.channel.ChannelPromise promise)
- Specified by:
shutdownInputin interfaceio.netty.channel.socket.DuplexChannel
-
doRegister
protected final void doRegister(io.netty.channel.ChannelPromise promise)
-
cancelOutstandingReads
protected final void cancelOutstandingReads(io.netty.channel.IoRegistration registration, int numOutstandingReads)Cancel all outstanding reads- Parameters:
registration- theIoRegistration.numOutstandingReads- the number of outstanding reads, or-1if multi-shot was used.
-
cancelOutstandingWrites
protected final void cancelOutstandingWrites(io.netty.channel.IoRegistration registration, int numOutstandingWrites)Cancel all outstanding writes- Parameters:
registration- theIoRegistration.numOutstandingWrites- the number of outstanding writes.
-
socketIsEmpty
protected boolean socketIsEmpty(int flags)
Return if the socket is guaranteed to be empty when the submitted io was executed and the completion event be created.- Parameters:
flags- the flags that were part of the completion- Returns:
trueif empty.
-
nextOpsId
protected final short nextOpsId()
Returns the next id that should be used when submittingIoUringIoOps.- Returns:
- opsId
-
isOpen
public final boolean isOpen()
- Specified by:
isOpenin interfaceio.netty.channel.Channel
-
isActive
public boolean isActive()
- Specified by:
isActivein interfaceio.netty.channel.Channel
-
fd
public final io.netty.channel.unix.FileDescriptor fd()
- Specified by:
fdin interfaceio.netty.channel.unix.UnixChannel
-
isCompatible
protected boolean isCompatible(io.netty.channel.EventLoop loop)
- Specified by:
isCompatiblein classio.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)
-
doDisconnect
protected void doDisconnect() throws Exception- Specified by:
doDisconnectin classio.netty.channel.AbstractChannel- Throws:
Exception
-
doClose
protected void doClose() throws Exception- Specified by:
doClosein classio.netty.channel.AbstractChannel- Throws:
Exception
-
doBeginRead
protected final void doBeginRead()
- Specified by:
doBeginReadin classio.netty.channel.AbstractChannel
-
doWrite
protected void doWrite(io.netty.channel.ChannelOutboundBuffer in)
- Specified by:
doWritein classio.netty.channel.AbstractChannel
-
scheduleWriteIfNeeded
protected void scheduleWriteIfNeeded(io.netty.channel.ChannelOutboundBuffer in, boolean submitAndRunNow)
-
submitAndRunNow
protected void submitAndRunNow()
-
registration
protected final io.netty.channel.IoRegistration registration()
-
doDeregister
protected final void doDeregister()
- Overrides:
doDeregisterin classio.netty.channel.AbstractChannel
-
doBind
protected void doBind(SocketAddress local) throws Exception
- Specified by:
doBindin classio.netty.channel.AbstractChannel- Throws:
Exception
-
checkResolvable
protected static void checkResolvable(InetSocketAddress addr)
-
localAddress0
protected final SocketAddress localAddress0()
- Specified by:
localAddress0in classio.netty.channel.AbstractChannel
-
remoteAddress0
protected final SocketAddress remoteAddress0()
- Specified by:
remoteAddress0in classio.netty.channel.AbstractChannel
-
-