public abstract class AbstractIoAcceptor extends AbstractIoService implements IoAcceptor
IoAcceptor.| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractIoAcceptor.AcceptorOperationFuture |
AbstractIoService.ServiceOperationFuture| Modifier and Type | Field and Description |
|---|---|
protected java.lang.Object |
bindLock
The lock object which is acquired while bind or unbind operation is performed.
|
disposalLock| Modifier | Constructor and Description |
|---|---|
protected |
AbstractIoAcceptor(IoSessionConfig sessionConfig,
java.util.concurrent.Executor executor)
Constructor for
AbstractIoAcceptor. |
| Modifier and Type | Method and Description |
|---|---|
void |
bind()
Binds to the default local address(es) and start to accept incoming
connections.
|
void |
bind(java.lang.Iterable<? extends java.net.SocketAddress> localAddresses)
Binds to the specified local addresses and start to accept incoming
connections.
|
void |
bind(java.net.SocketAddress... addresses)
Binds to the specified local addresses and start to accept incoming
connections.
|
void |
bind(java.net.SocketAddress localAddress)
Binds to the specified local address and start to accept incoming
connections.
|
void |
bind(java.net.SocketAddress firstLocalAddress,
java.net.SocketAddress... addresses)
Binds to the specified local addresses and start to accept incoming
connections.
|
protected abstract java.util.Set<java.net.SocketAddress> |
bindInternal(java.util.List<? extends java.net.SocketAddress> localAddresses)
Starts the acceptor, and register the given addresses
|
java.net.SocketAddress |
getDefaultLocalAddress()
Returns the default local address to bind when no argument is specified
in
IoAcceptor.bind() method. |
java.util.List<java.net.SocketAddress> |
getDefaultLocalAddresses()
Returns a
List of the default local addresses to bind when no
argument is specified in IoAcceptor.bind() method. |
java.net.SocketAddress |
getLocalAddress()
Returns the local address which is bound currently.
|
java.util.Set<java.net.SocketAddress> |
getLocalAddresses()
Returns a
Set of the local addresses which are bound currently. |
boolean |
isCloseOnDeactivation()
Returns true if and only if all clients are closed when this
acceptor unbinds from all the related local address (i.e.
|
void |
setCloseOnDeactivation(boolean disconnectClientsOnUnbind)
Sets whether all client sessions are closed when this acceptor unbinds
from all the related local addresses (i.e.
|
void |
setDefaultLocalAddress(java.net.SocketAddress localAddress)
Sets the default local address to bind when no argument is specified in
IoAcceptor.bind() method. |
void |
setDefaultLocalAddresses(java.lang.Iterable<? extends java.net.SocketAddress> localAddresses)
Sets the default local addresses to bind when no argument is specified
in
IoAcceptor.bind() method. |
void |
setDefaultLocalAddresses(java.util.List<? extends java.net.SocketAddress> localAddresses)
Sets the default local addresses to bind when no argument is specified
in
IoAcceptor.bind() method. |
void |
setDefaultLocalAddresses(java.net.SocketAddress firstLocalAddress,
java.net.SocketAddress... otherLocalAddresses)
Sets the default local addresses to bind when no argument is specified
in
IoAcceptor.bind() method. |
java.lang.String |
toString() |
void |
unbind()
Unbinds from all local addresses that this service is bound to and stops
to accept incoming connections.
|
void |
unbind(java.lang.Iterable<? extends java.net.SocketAddress> localAddresses)
Unbinds from the specified local addresses and stop to accept incoming
connections.
|
void |
unbind(java.net.SocketAddress localAddress)
Unbinds from the specified local address and stop to accept incoming
connections.
|
void |
unbind(java.net.SocketAddress firstLocalAddress,
java.net.SocketAddress... otherLocalAddresses)
Unbinds from the specified local addresses and stop to accept incoming
connections.
|
protected abstract void |
unbind0(java.util.List<? extends java.net.SocketAddress> localAddresses)
Implement this method to perform the actual unbind operation.
|
addListener, broadcast, dispose, dispose, dispose0, executeWorker, executeWorker, finishSessionInitialization0, getActivationTime, getFilterChain, getFilterChainBuilder, getHandler, getListeners, getManagedSessionCount, getManagedSessions, getScheduledWriteBytes, getScheduledWriteMessages, getSessionConfig, getSessionDataStructureFactory, getStatistics, initSession, isActive, isDisposed, isDisposing, removeListener, setFilterChainBuilder, setHandler, setSessionDataStructureFactoryclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitnewSessionaddListener, broadcast, dispose, dispose, getActivationTime, getFilterChain, getFilterChainBuilder, getHandler, getManagedSessionCount, getManagedSessions, getScheduledWriteBytes, getScheduledWriteMessages, getSessionConfig, getSessionDataStructureFactory, getStatistics, getTransportMetadata, isActive, isDisposed, isDisposing, removeListener, setFilterChainBuilder, setHandler, setSessionDataStructureFactoryprotected final java.lang.Object bindLock
protected AbstractIoAcceptor(IoSessionConfig sessionConfig, java.util.concurrent.Executor executor)
AbstractIoAcceptor. You need to provide a default
session configuration and an Executor for handling I/O events. If
null Executor is provided, a default one will be created using
Executors.newCachedThreadPool().
AbstractIoService.AbstractIoService(IoSessionConfig, Executor)sessionConfig - the default configuration for the managed IoSessionexecutor - the Executor used for handling execution of I/O
events. Can be null.public java.net.SocketAddress getLocalAddress()
getLocalAddress in interface IoAcceptorpublic final java.util.Set<java.net.SocketAddress> getLocalAddresses()
Set of the local addresses which are bound currently.getLocalAddresses in interface IoAcceptorpublic java.net.SocketAddress getDefaultLocalAddress()
IoAcceptor.bind() method. Please note that the default will not be
used if any local address is specified. If more than one address are
set, only one of them will be returned, but it's not necessarily the
firstly specified address in IoAcceptor.setDefaultLocalAddresses(List).getDefaultLocalAddress in interface IoAcceptorpublic final void setDefaultLocalAddress(java.net.SocketAddress localAddress)
IoAcceptor.bind() method. Please note that the default will not be used
if any local address is specified.setDefaultLocalAddress in interface IoAcceptorpublic final java.util.List<java.net.SocketAddress> getDefaultLocalAddresses()
List of the default local addresses to bind when no
argument is specified in IoAcceptor.bind() method. Please note that the
default will not be used if any local address is specified.getDefaultLocalAddresses in interface IoAcceptorpublic final void setDefaultLocalAddresses(java.util.List<? extends java.net.SocketAddress> localAddresses)
IoAcceptor.bind() method. Please note that the default will not be
used if any local address is specified.setDefaultLocalAddresses in interface IoAcceptorpublic final void setDefaultLocalAddresses(java.lang.Iterable<? extends java.net.SocketAddress> localAddresses)
IoAcceptor.bind() method. Please note that the default will not be
used if any local address is specified.setDefaultLocalAddresses in interface IoAcceptorpublic final void setDefaultLocalAddresses(java.net.SocketAddress firstLocalAddress,
java.net.SocketAddress... otherLocalAddresses)
IoAcceptor.bind() method. Please note that the default will not be
used if any local address is specified.setDefaultLocalAddresses in interface IoAcceptorpublic final boolean isCloseOnDeactivation()
isCloseOnDeactivation in interface IoAcceptorpublic final void setCloseOnDeactivation(boolean disconnectClientsOnUnbind)
setCloseOnDeactivation in interface IoAcceptorpublic final void bind()
throws java.io.IOException
bind in interface IoAcceptorjava.io.IOException - if failed to bindpublic final void bind(java.net.SocketAddress localAddress)
throws java.io.IOException
bind in interface IoAcceptorlocalAddress - The SocketAddress to bind tojava.io.IOException - if failed to bindpublic final void bind(java.net.SocketAddress... addresses)
throws java.io.IOException
bind in interface IoAcceptoraddresses - The SocketAddresses to bind tojava.io.IOException - if failed to bindpublic final void bind(java.net.SocketAddress firstLocalAddress,
java.net.SocketAddress... addresses)
throws java.io.IOException
bind in interface IoAcceptoraddresses - The SocketAddresses to bind tojava.io.IOException - if failed to bindpublic final void bind(java.lang.Iterable<? extends java.net.SocketAddress> localAddresses)
throws java.io.IOException
bind in interface IoAcceptorjava.io.IOException - if failed to bindpublic final void unbind()
disconnectOnUnbind property
is true. This method returns silently if no local address is
bound yet.unbind in interface IoAcceptorpublic final void unbind(java.net.SocketAddress localAddress)
disconnectOnUnbind property is
true. This method returns silently if the default local
address is not bound yet.unbind in interface IoAcceptorpublic final void unbind(java.net.SocketAddress firstLocalAddress,
java.net.SocketAddress... otherLocalAddresses)
disconnectOnUnbind property is
true. This method returns silently if the default local
addresses are not bound yet.unbind in interface IoAcceptorpublic final void unbind(java.lang.Iterable<? extends java.net.SocketAddress> localAddresses)
disconnectOnUnbind property is
true. This method returns silently if the default local
addresses are not bound yet.unbind in interface IoAcceptorprotected abstract java.util.Set<java.net.SocketAddress> bindInternal(java.util.List<? extends java.net.SocketAddress> localAddresses)
throws java.lang.Exception
Set of the local addresses which is bound actuallyjava.lang.Exceptionprotected abstract void unbind0(java.util.List<? extends java.net.SocketAddress> localAddresses)
throws java.lang.Exception
java.lang.Exceptionpublic java.lang.String toString()
toString in class java.lang.Object