Package org.apache.sshd.common.io.nio2
Class Nio2Acceptor
- java.lang.Object
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,java.nio.channels.Channel
,Closeable
,FactoryManagerHolder
,IoAcceptor
,IoService
,IoServiceEventListenerManager
public class Nio2Acceptor extends Nio2Service implements IoAcceptor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
Nio2Acceptor.AcceptCompletionHandler
-
Nested classes/interfaces inherited from class org.apache.sshd.common.util.closeable.AbstractCloseable
AbstractCloseable.State
-
-
Field Summary
Fields Modifier and Type Field Description private int
backlog
protected java.util.Map<java.net.SocketAddress,java.nio.channels.AsynchronousServerSocketChannel>
channels
-
Fields inherited from class org.apache.sshd.common.io.nio2.Nio2Service
CONFIGURABLE_OPTIONS, disposing, sessions
-
Fields inherited from class org.apache.sshd.common.util.closeable.AbstractCloseable
closeFuture, futureLock, state
-
Fields inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
log
-
Fields inherited from interface org.apache.sshd.common.io.IoService
DEFAULT_REUSE_ADDRESS
-
-
Constructor Summary
Constructors Constructor Description Nio2Acceptor(FactoryManager manager, IoHandler handler, java.nio.channels.AsynchronousChannelGroup group)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
bind(java.net.SocketAddress address)
void
bind(java.util.Collection<? extends java.net.SocketAddress> addresses)
protected void
closeImmediately0()
protected java.nio.channels.CompletionHandler<java.nio.channels.AsynchronousSocketChannel,? super java.net.SocketAddress>
createSocketCompletionHandler(java.util.Map<java.net.SocketAddress,java.nio.channels.AsynchronousServerSocketChannel> channelsMap, java.nio.channels.AsynchronousServerSocketChannel socket)
java.util.Set<java.net.SocketAddress>
getBoundAddresses()
protected Closeable
getInnerCloseable()
protected java.nio.channels.AsynchronousServerSocketChannel
openAsynchronousServerSocketChannel(java.net.SocketAddress address, java.nio.channels.AsynchronousChannelGroup group)
protected void
preClose()
preClose is guaranteed to be called before doCloseGracefully or doCloseImmediately.protected java.io.Closeable
protectInProgressBinding(java.net.SocketAddress address, java.nio.channels.AsynchronousServerSocketChannel asyncChannel)
java.lang.String
toString()
void
unbind()
void
unbind(java.net.SocketAddress address)
void
unbind(java.util.Collection<? extends java.net.SocketAddress> addresses)
-
Methods inherited from class org.apache.sshd.common.io.nio2.Nio2Service
dispose, getChannelGroup, getFactoryManager, getIoHandler, getIoServiceEventListener, getManagedSessions, sessionClosed, setIoServiceEventListener, setOption, setSocketOptions, unmapSession
-
Methods inherited from class org.apache.sshd.common.util.closeable.AbstractInnerCloseable
doCloseGracefully, doCloseImmediately
-
Methods inherited from class org.apache.sshd.common.util.closeable.AbstractCloseable
addCloseFutureListener, builder, close, getFutureLock, isClosed, isClosing, removeCloseFutureListener
-
Methods inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
debug, debug, debug, debug, debug, error, error, error, error, error, getSimplifiedLogger, info, info, warn, warn, warn, warn, warn, warn, warn, warn
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.sshd.common.Closeable
addCloseFutureListener, close, close, isClosed, isClosing, isOpen, removeCloseFutureListener
-
Methods inherited from interface org.apache.sshd.common.io.IoService
getManagedSessions
-
Methods inherited from interface org.apache.sshd.common.io.IoServiceEventListenerManager
getIoServiceEventListener, setIoServiceEventListener
-
-
-
-
Constructor Detail
-
Nio2Acceptor
public Nio2Acceptor(FactoryManager manager, IoHandler handler, java.nio.channels.AsynchronousChannelGroup group)
-
-
Method Detail
-
bind
public void bind(java.util.Collection<? extends java.net.SocketAddress> addresses) throws java.io.IOException
- Specified by:
bind
in interfaceIoAcceptor
- Throws:
java.io.IOException
-
protectInProgressBinding
protected java.io.Closeable protectInProgressBinding(java.net.SocketAddress address, java.nio.channels.AsynchronousServerSocketChannel asyncChannel)
-
openAsynchronousServerSocketChannel
protected java.nio.channels.AsynchronousServerSocketChannel openAsynchronousServerSocketChannel(java.net.SocketAddress address, java.nio.channels.AsynchronousChannelGroup group) throws java.io.IOException
- Throws:
java.io.IOException
-
createSocketCompletionHandler
protected java.nio.channels.CompletionHandler<java.nio.channels.AsynchronousSocketChannel,? super java.net.SocketAddress> createSocketCompletionHandler(java.util.Map<java.net.SocketAddress,java.nio.channels.AsynchronousServerSocketChannel> channelsMap, java.nio.channels.AsynchronousServerSocketChannel socket) throws java.io.IOException
- Throws:
java.io.IOException
-
bind
public void bind(java.net.SocketAddress address) throws java.io.IOException
- Specified by:
bind
in interfaceIoAcceptor
- Throws:
java.io.IOException
-
unbind
public void unbind()
- Specified by:
unbind
in interfaceIoAcceptor
-
unbind
public void unbind(java.util.Collection<? extends java.net.SocketAddress> addresses)
- Specified by:
unbind
in interfaceIoAcceptor
-
unbind
public void unbind(java.net.SocketAddress address)
- Specified by:
unbind
in interfaceIoAcceptor
-
getBoundAddresses
public java.util.Set<java.net.SocketAddress> getBoundAddresses()
- Specified by:
getBoundAddresses
in interfaceIoAcceptor
-
preClose
protected void preClose()
Description copied from class:AbstractCloseable
preClose is guaranteed to be called before doCloseGracefully or doCloseImmediately. When preClose() is called, isClosing() == true- Overrides:
preClose
in classAbstractCloseable
-
getInnerCloseable
protected Closeable getInnerCloseable()
- Overrides:
getInnerCloseable
in classNio2Service
-
closeImmediately0
protected void closeImmediately0()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-