Class NioServerSocketChannel
java.lang.Object
io.netty.util.DefaultAttributeMap
io.netty.channel.AbstractChannel
io.netty.channel.nio.AbstractNioChannel
io.netty.channel.nio.AbstractNioMessageChannel
io.netty.channel.socket.nio.NioServerSocketChannel
- All Implemented Interfaces:
Channel, ChannelOutboundInvoker, ServerChannel, ServerSocketChannel, AttributeMap, Comparable<Channel>
public class NioServerSocketChannel
extends AbstractNioMessageChannel
implements ServerSocketChannel
A
ServerSocketChannel implementation which uses
NIO selector based implementation to accept new connections.-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractNioChannel
AbstractNioChannel.AbstractNioUnsafe, AbstractNioChannel.NioUnsafeNested classes/interfaces inherited from class AbstractChannel
AbstractChannel.AbstractUnsafeNested classes/interfaces inherited from interface Channel
Channel.Unsafe -
Field Summary
Fields inherited from class AbstractNioChannel
readInterestOp, readOps -
Constructor Summary
ConstructorsConstructorDescriptionCreate a new instanceCreate a new instance using the givenServerSocketChannel.NioServerSocketChannel(SelectorProvider provider) Create a new instance using the givenSelectorProvider.NioServerSocketChannel(SelectorProvider provider, InternetProtocolFamily family) Deprecated.NioServerSocketChannel(SelectorProvider provider, SocketProtocolFamily family) Create a new instance using the givenSelectorProviderand protocol family (supported only since JDK 15). -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancloseOnReadError(Throwable cause) config()Returns the configuration of this channel.protected voiddoBind(SocketAddress localAddress) Bind theChannelto theSocketAddressprotected voiddoClose()Close theChannelprotected booleandoConnect(SocketAddress remoteAddress, SocketAddress localAddress) Connect to the remote peerprotected voidDisconnect thisChannelfrom its remote peerprotected voidFinish the connectprotected intdoReadMessages(List<Object> buf) Read messages into the given array and return the amount which was read.protected booleandoWriteMessage(Object msg, ChannelOutboundBuffer in) Write a message to the underlyingChannel.protected final ObjectInvoked when a new message is added to aChannelOutboundBufferof thisAbstractChannel, so that theChannelimplementation converts the message to another.booleanisActive()Returntrueif theChannelis active and so connected.protected ServerSocketChannelReturns the local address where this channel is bound to.protected SocketAddressReturns theSocketAddresswhich is bound locally.metadata()Returns the remote address where this channel is connected to.protected SocketAddressReturn theSocketAddresswhich theChannelis connected to.Methods inherited from class AbstractNioMessageChannel
continueOnWriteError, continueReading, doBeginRead, doWrite, newUnsafeMethods inherited from class AbstractNioChannel
addAndSubmit, clearReadPending, doDeregister, doRegister, isCompatible, isOpen, isReadPending, newDirectBuffer, newDirectBuffer, registration, removeAndSubmit, selectionKey, setReadPending, unsafeMethods inherited from class AbstractChannel
closeFuture, compareTo, doRegister, doShutdownOutput, equals, eventLoop, hashCode, id, invalidateLocalAddress, invalidateRemoteAddress, isRegistered, maxMessagesPerWrite, newChannelPipeline, newId, parent, pipeline, toString, validateFileRegion, voidPromiseMethods inherited from class DefaultAttributeMap
attr, hasAttrMethods inherited from interface AttributeMap
attr, hasAttrMethods inherited from interface Channel
alloc, bind, bind, bytesBeforeUnwritable, bytesBeforeWritable, close, close, closeFuture, connect, connect, connect, connect, deregister, deregister, disconnect, disconnect, eventLoop, flush, getOption, id, isOpen, isRegistered, isWritable, newFailedFuture, newProgressivePromise, newPromise, newSucceededFuture, parent, pipeline, read, setOption, unsafe, voidPromise, write, write, writeAndFlush, writeAndFlushMethods inherited from interface Comparable
compareTo
-
Constructor Details
-
NioServerSocketChannel
public NioServerSocketChannel()Create a new instance -
NioServerSocketChannel
Create a new instance using the givenSelectorProvider. -
NioServerSocketChannel
Deprecated.Create a new instance using the givenSelectorProviderand protocol family (supported only since JDK 15). -
NioServerSocketChannel
Create a new instance using the givenSelectorProviderand protocol family (supported only since JDK 15). -
NioServerSocketChannel
Create a new instance using the givenServerSocketChannel.
-
-
Method Details
-
localAddress
Description copied from interface:ChannelReturns the local address where this channel is bound to. The returnedSocketAddressis supposed to be down-cast into more concrete type such asInetSocketAddressto retrieve the detailed information.- Specified by:
localAddressin interfaceChannel- Specified by:
localAddressin interfaceServerSocketChannel- Overrides:
localAddressin classAbstractChannel- Returns:
- the local address of this channel.
nullif this channel is not bound.
-
metadata
Description copied from interface:Channel -
config
Description copied from interface:ChannelReturns the configuration of this channel.- Specified by:
configin interfaceChannel- Specified by:
configin interfaceServerSocketChannel
-
isActive
-
remoteAddress
Description copied from interface:ChannelReturns the remote address where this channel is connected to. The returnedSocketAddressis supposed to be down-cast into more concrete type such asInetSocketAddressto retrieve the detailed information.- Specified by:
remoteAddressin interfaceChannel- Specified by:
remoteAddressin interfaceServerSocketChannel- Overrides:
remoteAddressin classAbstractChannel- Returns:
- the remote address of this channel.
nullif this channel is not connected. If this channel is not connected but it can receive messages from arbitrary remote addresses (e.g.DatagramChannel, useDefaultAddressedEnvelope.recipient()to determine the origination of the received message as this method will returnnull.
-
javaChannel
- Overrides:
javaChannelin classAbstractNioChannel
-
localAddress0
Description copied from class:AbstractChannelReturns theSocketAddresswhich is bound locally.- Specified by:
localAddress0in classAbstractChannel
-
doBind
Description copied from class:AbstractChannelBind theChannelto theSocketAddress- Specified by:
doBindin classAbstractChannel- Throws:
Exception
-
doClose
Description copied from class:AbstractChannelClose theChannel- Overrides:
doClosein classAbstractNioChannel- Throws:
Exception
-
doReadMessages
Description copied from class:AbstractNioMessageChannelRead messages into the given array and return the amount which was read.- Specified by:
doReadMessagesin classAbstractNioMessageChannel- Throws:
Exception
-
doConnect
protected boolean doConnect(SocketAddress remoteAddress, SocketAddress localAddress) throws Exception Description copied from class:AbstractNioChannelConnect to the remote peer- Specified by:
doConnectin classAbstractNioChannel- Throws:
Exception
-
doFinishConnect
Description copied from class:AbstractNioChannelFinish the connect- Specified by:
doFinishConnectin classAbstractNioChannel- Throws:
Exception
-
remoteAddress0
Description copied from class:AbstractChannelReturn theSocketAddresswhich theChannelis connected to.- Specified by:
remoteAddress0in classAbstractChannel
-
doDisconnect
Description copied from class:AbstractChannelDisconnect thisChannelfrom its remote peer- Specified by:
doDisconnectin classAbstractChannel- Throws:
Exception
-
doWriteMessage
Description copied from class:AbstractNioMessageChannelWrite a message to the underlyingChannel.- Specified by:
doWriteMessagein classAbstractNioMessageChannel- Returns:
trueif and only if the message has been written- Throws:
Exception
-
filterOutboundMessage
Description copied from class:AbstractChannelInvoked when a new message is added to aChannelOutboundBufferof thisAbstractChannel, so that theChannelimplementation converts the message to another. (e.g. heap buffer -> direct buffer)- Overrides:
filterOutboundMessagein classAbstractChannel- Throws:
Exception
-
closeOnReadError
- Overrides:
closeOnReadErrorin classAbstractNioMessageChannel
-
NioServerSocketChannel(SelectorProvider, SocketProtocolFamily)