Package io.netty5.channel.kqueue
Class KQueueServerSocketChannel
- java.lang.Object
-
- io.netty5.util.DefaultAttributeMap
-
- io.netty5.channel.AbstractChannel<P,SocketAddress,SocketAddress>
-
- io.netty5.channel.kqueue.KQueueServerSocketChannel
-
- All Implemented Interfaces:
io.netty5.channel.Channel,io.netty5.channel.ChannelOutboundInvoker,io.netty5.channel.IoHandle,io.netty5.channel.ServerChannel,io.netty5.channel.socket.ServerSocketChannel,io.netty5.channel.unix.UnixChannel,io.netty5.util.AttributeMap,io.netty5.util.concurrent.FuturePromiseFactory,Comparable<io.netty5.channel.Channel>
@UnstableApi public final class KQueueServerSocketChannel extends io.netty5.channel.AbstractChannel<P,SocketAddress,SocketAddress> implements io.netty5.channel.socket.ServerSocketChannel
ServerSocketChannelimplementation that uses KQueue.Available options
In addition to the options provided byServerSocketChannelandUnixChannel,KQueueServerSocketChannelallows the following options in the option map:ChannelOptionINETINET6UNIXIntegerUnixChannelOptionX X X RawUnixChannelOptionX X X ChannelOption.TCP_FASTOPENX X - KQueueChannelOption.SO_ACCEPTFILTERX X X UnixChannelOption.SO_REUSEPORTX X -
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanactive
-
Constructor Summary
Constructors Constructor Description KQueueServerSocketChannel(io.netty5.channel.EventLoop eventLoop, io.netty5.channel.EventLoopGroup childEventLoopGroup)KQueueServerSocketChannel(io.netty5.channel.EventLoop eventLoop, io.netty5.channel.EventLoopGroup childEventLoopGroup, int fd, ProtocolFamily protocolFamily)KQueueServerSocketChannel(io.netty5.channel.EventLoop eventLoop, io.netty5.channel.EventLoopGroup childEventLoopGroup, ProtocolFamily protocolFamily)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static voidcheckResolvable(InetSocketAddress addr)io.netty5.channel.EventLoopGroupchildEventLoopGroup()protected voiddoBind(SocketAddress localAddress)protected voiddoClearScheduledRead()protected voiddoClose()protected booleandoConnect(SocketAddress remoteAddress, SocketAddress localAddress, io.netty5.buffer.Buffer initialData)Connect to the remote peerprotected booleandoConnect0(SocketAddress remoteAddress, SocketAddress localAddress, io.netty5.buffer.Buffer data)protected voiddoDisconnect()protected booleandoFinishConnect(SocketAddress requestedRemoteAddress)protected voiddoRead(boolean wasReadPendingAlready)protected intdoReadBytes(io.netty5.buffer.Buffer buffer)Read bytes into the givenBufferand return the amount.protected booleandoReadNow(io.netty5.channel.AbstractChannel.ReadSink readSink)protected voiddoShutdown(io.netty5.channel.ChannelShutdownDirection direction)protected intdoWriteBytes(io.netty5.buffer.Buffer buf)protected voiddoWriteNow(io.netty5.channel.AbstractChannel.WriteSink writeHandle)io.netty5.channel.unix.FileDescriptorfd()protected booleanfetchLocalAddress()protected ObjectfilterOutboundMessage(Object msg)protected <T> TgetExtendedOption(io.netty5.channel.ChannelOption<T> option)booleanisActive()protected booleanisExtendedOptionSupported(io.netty5.channel.ChannelOption<?> option)booleanisOpen()booleanisShutdown(io.netty5.channel.ChannelShutdownDirection direction)protected booleanisWriteFlushedScheduled()protected SocketAddresslocalAddress0()protected io.netty5.buffer.BuffernewDirectBuffer(io.netty5.buffer.Buffer buf)Returns an off-heap copy of, and then closes, the givenBuffer.protected io.netty5.buffer.BuffernewDirectBuffer(io.netty5.util.Resource<?> holder, io.netty5.buffer.Buffer buf)Returns an off-heap copy of the givenBuffer, and then closes theholderunder the assumption that it owned (or was itself) the buffer.protected io.netty5.buffer.BufferAllocatorreadBufferAllocator()protected voidreadLoopComplete()protected io.netty5.channel.kqueue.KQueueRegistrationregistration()protected SocketAddressremoteAddress0()protected <T> voidsetExtendedOption(io.netty5.channel.ChannelOption<T> option, T value)protected voidwriteLoopComplete(boolean allWritten)-
Methods inherited from class io.netty5.channel.AbstractChannel
bufferAllocator, cacheAddresses, closeFuture, closeTransport, compareTo, equals, executor, finishConnect, getOption, hashCode, id, isConnectPending, isOptionSupported, isReadPending, isRegistered, isSupportingDisconnect, localAddress, newChannelPipeline, newSupportedIdentityOptionsSet, parent, pipeline, prepareToClose, readHandle, readIfIsAutoRead, readNow, remoteAddress, setOption, shutdownReadSide, toString, validateEventLoopGroup, validateFileRegion, writableBytes, writeFlushed, writeFlushedNow, writeHandle
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.netty5.channel.Channel
bind, bufferAllocator, close, closeFuture, connect, connect, deregister, disconnect, executor, flush, getOption, id, isActive, isOpen, isOptionSupported, isWritable, localAddress, parent, pipeline, read, read, register, remoteAddress, sendOutboundEvent, setOption, shutdown, writableBytes, write, writeAndFlush
-
Methods inherited from interface io.netty5.channel.ChannelOutboundInvoker
newFailedFuture, newPromise, newSucceededFuture, newSucceededFuture
-
Methods inherited from interface java.lang.Comparable
compareTo
-
-
-
-
Constructor Detail
-
KQueueServerSocketChannel
public KQueueServerSocketChannel(io.netty5.channel.EventLoop eventLoop, io.netty5.channel.EventLoopGroup childEventLoopGroup)
-
KQueueServerSocketChannel
public KQueueServerSocketChannel(io.netty5.channel.EventLoop eventLoop, io.netty5.channel.EventLoopGroup childEventLoopGroup, ProtocolFamily protocolFamily)
-
KQueueServerSocketChannel
public KQueueServerSocketChannel(io.netty5.channel.EventLoop eventLoop, io.netty5.channel.EventLoopGroup childEventLoopGroup, int fd, ProtocolFamily protocolFamily)
-
-
Method Detail
-
doBind
protected void doBind(SocketAddress localAddress) throws Exception
- Throws:
Exception
-
getExtendedOption
protected <T> T getExtendedOption(io.netty5.channel.ChannelOption<T> option)
-
setExtendedOption
protected <T> void setExtendedOption(io.netty5.channel.ChannelOption<T> option, T value)
-
isExtendedOptionSupported
protected boolean isExtendedOptionSupported(io.netty5.channel.ChannelOption<?> option)
-
childEventLoopGroup
public io.netty5.channel.EventLoopGroup childEventLoopGroup()
- Specified by:
childEventLoopGroupin interfaceio.netty5.channel.ServerChannel
-
remoteAddress0
protected SocketAddress remoteAddress0()
-
doWriteNow
protected void doWriteNow(io.netty5.channel.AbstractChannel.WriteSink writeHandle)
- Specified by:
doWriteNowin classio.netty5.channel.AbstractChannel<io.netty5.channel.unix.UnixChannel,SocketAddress,SocketAddress>
-
filterOutboundMessage
protected Object filterOutboundMessage(Object msg)
- Overrides:
filterOutboundMessagein classio.netty5.channel.AbstractChannel<io.netty5.channel.unix.UnixChannel,SocketAddress,SocketAddress>
-
doConnect
protected boolean doConnect(SocketAddress remoteAddress, SocketAddress localAddress, io.netty5.buffer.Buffer initialData)
Connect to the remote peer
-
doShutdown
protected void doShutdown(io.netty5.channel.ChannelShutdownDirection direction)
- Specified by:
doShutdownin classio.netty5.channel.AbstractChannel<io.netty5.channel.unix.UnixChannel,SocketAddress,SocketAddress>
-
isShutdown
public boolean isShutdown(io.netty5.channel.ChannelShutdownDirection direction)
- Specified by:
isShutdownin interfaceio.netty5.channel.Channel
-
registration
protected final io.netty5.channel.kqueue.KQueueRegistration registration()
-
fd
public final io.netty5.channel.unix.FileDescriptor fd()
- Specified by:
fdin interfaceio.netty5.channel.unix.UnixChannel
-
isActive
public boolean isActive()
- Specified by:
isActivein interfaceio.netty5.channel.Channel
-
doDisconnect
protected void doDisconnect() throws Exception- Specified by:
doDisconnectin classio.netty5.channel.AbstractChannel<P extends io.netty5.channel.unix.UnixChannel,SocketAddress,SocketAddress>- Throws:
Exception
-
isOpen
public final boolean isOpen()
- Specified by:
isOpenin interfaceio.netty5.channel.Channel
-
doRead
protected final void doRead(boolean wasReadPendingAlready)
- Specified by:
doReadin classio.netty5.channel.AbstractChannel<P extends io.netty5.channel.unix.UnixChannel,SocketAddress,SocketAddress>
-
newDirectBuffer
protected final io.netty5.buffer.Buffer newDirectBuffer(io.netty5.buffer.Buffer buf)
Returns an off-heap copy of, and then closes, the givenBuffer.
-
newDirectBuffer
protected final io.netty5.buffer.Buffer newDirectBuffer(io.netty5.util.Resource<?> holder, io.netty5.buffer.Buffer buf)Returns an off-heap copy of the givenBuffer, and then closes theholderunder the assumption that it owned (or was itself) the buffer.
-
checkResolvable
protected static void checkResolvable(InetSocketAddress addr)
-
doReadBytes
protected final int doReadBytes(io.netty5.buffer.Buffer buffer) throws ExceptionRead bytes into the givenBufferand return the amount.- Throws:
Exception
-
doWriteBytes
protected final int doWriteBytes(io.netty5.buffer.Buffer buf) throws Exception- Throws:
Exception
-
doReadNow
protected boolean doReadNow(io.netty5.channel.AbstractChannel.ReadSink readSink) throws Exception- Specified by:
doReadNowin classio.netty5.channel.AbstractChannel<P extends io.netty5.channel.unix.UnixChannel,SocketAddress,SocketAddress>- Throws:
Exception
-
readLoopComplete
protected void readLoopComplete()
- Overrides:
readLoopCompletein classio.netty5.channel.AbstractChannel<P extends io.netty5.channel.unix.UnixChannel,SocketAddress,SocketAddress>
-
isWriteFlushedScheduled
protected boolean isWriteFlushedScheduled()
- Overrides:
isWriteFlushedScheduledin classio.netty5.channel.AbstractChannel<P extends io.netty5.channel.unix.UnixChannel,SocketAddress,SocketAddress>
-
doFinishConnect
protected final boolean doFinishConnect(SocketAddress requestedRemoteAddress) throws Exception
- Specified by:
doFinishConnectin classio.netty5.channel.AbstractChannel<P extends io.netty5.channel.unix.UnixChannel,SocketAddress,SocketAddress>- Throws:
Exception
-
fetchLocalAddress
protected boolean fetchLocalAddress()
-
doConnect0
protected boolean doConnect0(SocketAddress remoteAddress, SocketAddress localAddress, io.netty5.buffer.Buffer data) throws Exception
- Throws:
Exception
-
localAddress0
protected SocketAddress localAddress0()
- Specified by:
localAddress0in classio.netty5.channel.AbstractChannel<P extends io.netty5.channel.unix.UnixChannel,SocketAddress,SocketAddress>
-
doClearScheduledRead
protected final void doClearScheduledRead()
- Overrides:
doClearScheduledReadin classio.netty5.channel.AbstractChannel<P extends io.netty5.channel.unix.UnixChannel,SocketAddress,SocketAddress>
-
writeLoopComplete
protected final void writeLoopComplete(boolean allWritten)
- Overrides:
writeLoopCompletein classio.netty5.channel.AbstractChannel<P extends io.netty5.channel.unix.UnixChannel,SocketAddress,SocketAddress>
-
readBufferAllocator
protected io.netty5.buffer.BufferAllocator readBufferAllocator()
- Overrides:
readBufferAllocatorin classio.netty5.channel.AbstractChannel<P extends io.netty5.channel.unix.UnixChannel,SocketAddress,SocketAddress>
-
-