S
- the type of the IoSession
this processor can handlepublic abstract class AbstractPollingConnectionlessIoAcceptor<S extends AbstractIoSession,H> extends AbstractIoAcceptor
IoAcceptor
for datagram transport (UDP/IP).AbstractIoAcceptor.AcceptorOperationFuture
AbstractIoService.ServiceOperationFuture
bindLock
disposalLock
Modifier | Constructor and Description |
---|---|
protected |
AbstractPollingConnectionlessIoAcceptor(IoSessionConfig sessionConfig)
Creates a new instance.
|
protected |
AbstractPollingConnectionlessIoAcceptor(IoSessionConfig sessionConfig,
java.util.concurrent.Executor executor)
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
protected java.util.Set<java.net.SocketAddress> |
bindInternal(java.util.List<? extends java.net.SocketAddress> localAddresses)
Starts the acceptor, and register the given addresses
|
protected abstract void |
close(H handle) |
protected abstract void |
destroy() |
protected void |
dispose0()
Implement this method to release any acquired resources.
|
IoSessionRecycler |
getSessionRecycler() |
protected abstract void |
init() |
protected abstract boolean |
isReadable(H handle) |
protected abstract boolean |
isWritable(H handle) |
protected abstract java.net.SocketAddress |
localAddress(H handle) |
protected abstract S |
newSession(IoProcessor<S> processor,
H handle,
java.net.SocketAddress remoteAddress) |
IoSession |
newSession(java.net.SocketAddress remoteAddress,
java.net.SocketAddress localAddress)
(Optional) Returns an
IoSession that is bound to the specified
localAddress and the specified remoteAddress which
reuses the local address that is already bound by this service. |
protected abstract H |
open(java.net.SocketAddress localAddress) |
protected abstract java.net.SocketAddress |
receive(H handle,
IoBuffer buffer) |
protected abstract int |
select() |
protected abstract int |
select(long timeout) |
protected abstract java.util.Iterator<H> |
selectedHandles() |
protected abstract int |
send(S session,
IoBuffer buffer,
java.net.SocketAddress remoteAddress) |
protected abstract void |
setInterestedInWrite(S session,
boolean interested) |
void |
setSessionRecycler(IoSessionRecycler sessionRecycler) |
protected void |
unbind0(java.util.List<? extends java.net.SocketAddress> localAddresses)
Implement this method to perform the actual unbind operation.
|
protected abstract void |
wakeup() |
bind, bind, bind, bind, getDefaultLocalAddress, getDefaultLocalAddresses, getLocalAddress, getLocalAddresses, isCloseOnDeactivation, setCloseOnDeactivation, setDefaultLocalAddress, setDefaultLocalAddresses, setDefaultLocalAddresses, setDefaultLocalAddresses, toString, unbind, unbind, unbind, unbind
addListener, broadcast, dispose, dispose, executeWorker, executeWorker, finishSessionInitialization0, getActivationTime, getFilterChain, getFilterChainBuilder, getHandler, getListeners, getManagedSessionCount, getManagedSessions, getScheduledWriteBytes, getScheduledWriteMessages, getSessionConfig, getSessionDataStructureFactory, getStatistics, initSession, isActive, isDisposed, isDisposing, removeListener, setFilterChainBuilder, setHandler, setSessionDataStructureFactory
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addListener, broadcast, dispose, dispose, getActivationTime, getFilterChain, getFilterChainBuilder, getHandler, getManagedSessionCount, getManagedSessions, getScheduledWriteBytes, getScheduledWriteMessages, getSessionConfig, getSessionDataStructureFactory, getStatistics, getTransportMetadata, isActive, isDisposed, isDisposing, removeListener, setFilterChainBuilder, setHandler, setSessionDataStructureFactory
protected AbstractPollingConnectionlessIoAcceptor(IoSessionConfig sessionConfig)
protected AbstractPollingConnectionlessIoAcceptor(IoSessionConfig sessionConfig, java.util.concurrent.Executor executor)
protected abstract void init() throws java.lang.Exception
java.lang.Exception
protected abstract void destroy() throws java.lang.Exception
java.lang.Exception
protected abstract int select() throws java.lang.Exception
java.lang.Exception
protected abstract int select(long timeout) throws java.lang.Exception
java.lang.Exception
protected abstract void wakeup()
protected abstract java.util.Iterator<H> selectedHandles()
protected abstract H open(java.net.SocketAddress localAddress) throws java.lang.Exception
java.lang.Exception
protected abstract void close(H handle) throws java.lang.Exception
java.lang.Exception
protected abstract java.net.SocketAddress localAddress(H handle) throws java.lang.Exception
java.lang.Exception
protected abstract boolean isReadable(H handle)
protected abstract boolean isWritable(H handle)
protected abstract java.net.SocketAddress receive(H handle, IoBuffer buffer) throws java.lang.Exception
java.lang.Exception
protected abstract int send(S session, IoBuffer buffer, java.net.SocketAddress remoteAddress) throws java.lang.Exception
java.lang.Exception
protected abstract S newSession(IoProcessor<S> processor, H handle, java.net.SocketAddress remoteAddress) throws java.lang.Exception
java.lang.Exception
protected abstract void setInterestedInWrite(S session, boolean interested) throws java.lang.Exception
java.lang.Exception
protected void dispose0() throws java.lang.Exception
AbstractIoService.dispose()
.dispose0
in class AbstractIoService
java.lang.Exception
protected final java.util.Set<java.net.SocketAddress> bindInternal(java.util.List<? extends java.net.SocketAddress> localAddresses) throws java.lang.Exception
bindInternal
in class AbstractIoAcceptor
Set
of the local addresses which is bound actuallyjava.lang.Exception
protected final void unbind0(java.util.List<? extends java.net.SocketAddress> localAddresses) throws java.lang.Exception
unbind0
in class AbstractIoAcceptor
java.lang.Exception
public final IoSession newSession(java.net.SocketAddress remoteAddress, java.net.SocketAddress localAddress)
IoSession
that is bound to the specified
localAddress and the specified remoteAddress which
reuses the local address that is already bound by this service.
This operation is optional. Please throw UnsupportedOperationException
if the transport type doesn't support this operation. This operation is
usually implemented for connectionless transport types.
public final IoSessionRecycler getSessionRecycler()
public final void setSessionRecycler(IoSessionRecycler sessionRecycler)
Copyright © 2004-2019 Apache MINA Project. All Rights Reserved.