public final class AprSocketConnector extends AbstractPollingIoConnector<AprSession,Long> implements SocketConnector
IoConnector for APR based socket transport (TCP/IP).AbstractPollingIoConnector.ConnectionRequestAbstractIoService.ServiceOperationFuturedisposalLock, sessionConfig| Constructor and Description |
|---|
AprSocketConnector()
Create an
AprSocketConnector with default configuration (multiple thread model). |
AprSocketConnector(Executor executor,
IoProcessor<AprSession> processor)
Constructor for
AprSocketConnector with a given Executor for handling
connection events and a given IoProcessor for handling I/O events, useful for sharing
the same processor and executor over multiple IoService of the same type. |
AprSocketConnector(int processorCount)
Constructor for
AprSocketConnector with default configuration, and
given number of AprIoProcessor for multithreading I/O operations |
AprSocketConnector(IoProcessor<AprSession> processor)
Constructor for
AprSocketConnector with default configuration but a
specific IoProcessor, useful for sharing the same processor over multiple
IoService of the same type. |
| Modifier and Type | Method and Description |
|---|---|
protected Iterator<Long> |
allHandles()
Iterator for all the client sockets polled for connection. |
protected void |
close(Long handle)
Close a client socket.
|
protected boolean |
connect(Long handle,
SocketAddress remoteAddress)
Connect a newly created client socket handle to a remote
SocketAddress. |
protected void |
destroy()
Destroy the polling system, will be called when this
IoConnector
implementation will be disposed. |
protected boolean |
finishConnect(Long handle)
Finish the connection process of a client socket after it was marked as
ready to process by the
AbstractPollingIoConnector.select(int) call. |
protected AbstractPollingIoConnector.ConnectionRequest |
getConnectionRequest(Long handle)
get the
AbstractPollingIoConnector.ConnectionRequest for a given client socket handle |
InetSocketAddress |
getDefaultRemoteAddress() |
SocketSessionConfig |
getSessionConfig() |
TransportMetadata |
getTransportMetadata() |
protected void |
init()
Initialize the polling system, will be called at construction time.
|
protected Long |
newHandle(SocketAddress localAddress)
Create a new client socket handle from a local
SocketAddress |
protected AprSession |
newSession(IoProcessor<AprSession> processor,
Long handle)
Create a new
IoSession from a connected socket client handle. |
protected void |
register(Long handle,
AbstractPollingIoConnector.ConnectionRequest request)
Register a new client socket for connection, add it to connection polling
|
protected int |
select(int timeout)
Check for connected sockets, interrupt when at least a connection is
processed (connected or failed to connect).
|
protected Iterator<Long> |
selectedHandles()
Iterator for the set of client sockets found connected or failed
to connect during the last AbstractPollingIoConnector.select(int) call. |
void |
setDefaultRemoteAddress(InetSocketAddress defaultRemoteAddress)
Sets the default remote InetSocketAddress to connect to when no argument is
specified in
IoConnector.connect() method. |
protected void |
wakeup()
Interrupt the
AbstractPollingIoConnector.select(int) method. |
connect0, dispose0connect, connect, connect, connect, connect, connect, finishSessionInitialization0, getConnectTimeout, getConnectTimeoutCheckInterval, getConnectTimeoutMillis, getDefaultLocalAddress, setConnectTimeout, setConnectTimeoutCheckInterval, setConnectTimeoutMillis, setDefaultLocalAddress, setDefaultRemoteAddress, toStringaddListener, broadcast, dispose, dispose, executeWorker, executeWorker, getActivationTime, getFilterChain, getFilterChainBuilder, getHandler, getListeners, getManagedSessionCount, getManagedSessions, getScheduledWriteBytes, getScheduledWriteMessages, getSessionDataStructureFactory, getStatistics, initSession, isActive, isDisposed, isDisposing, removeListener, setFilterChainBuilder, setHandler, setSessionDataStructureFactoryclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitconnect, connect, connect, connect, connect, connect, getConnectTimeout, getConnectTimeoutMillis, getDefaultLocalAddress, setConnectTimeout, setConnectTimeoutMillis, setDefaultLocalAddress, setDefaultRemoteAddressaddListener, broadcast, dispose, dispose, getActivationTime, getFilterChain, getFilterChainBuilder, getHandler, getManagedSessionCount, getManagedSessions, getScheduledWriteBytes, getScheduledWriteMessages, getSessionDataStructureFactory, getStatistics, isActive, isDisposed, isDisposing, removeListener, setFilterChainBuilder, setHandler, setSessionDataStructureFactorypublic AprSocketConnector()
AprSocketConnector with default configuration (multiple thread model).public AprSocketConnector(int processorCount)
AprSocketConnector with default configuration, and
given number of AprIoProcessor for multithreading I/O operationsprocessorCount - the number of processor to create and place in a
SimpleIoProcessorPoolpublic AprSocketConnector(IoProcessor<AprSession> processor)
AprSocketConnector with default configuration but a
specific IoProcessor, useful for sharing the same processor over multiple
IoService of the same type.processor - the processor to use for managing I/O eventspublic AprSocketConnector(Executor executor, IoProcessor<AprSession> processor)
AprSocketConnector with a given Executor for handling
connection events and a given IoProcessor for handling I/O events, useful for sharing
the same processor and executor over multiple IoService of the same type.executor - the executor for connectionprocessor - the processor for I/O operationsprotected void init()
throws Exception
init in class AbstractPollingIoConnector<AprSession,Long>Exception - any exception thrown by the underlying system callsprotected void destroy()
throws Exception
IoConnector
implementation will be disposed.destroy in class AbstractPollingIoConnector<AprSession,Long>Exception - any exception thrown by the underlying systems callsprotected Iterator<Long> allHandles()
Iterator for all the client sockets polled for connection.allHandles in class AbstractPollingIoConnector<AprSession,Long>protected boolean connect(Long handle, SocketAddress remoteAddress) throws Exception
SocketAddress. This operation is non-blocking, so at end of the
call the socket can be still in connection process.connect in class AbstractPollingIoConnector<AprSession,Long>handle - the client socket handleremoteAddress - the remote address where to connectException - If the connect failedprotected AbstractPollingIoConnector.ConnectionRequest getConnectionRequest(Long handle)
AbstractPollingIoConnector.ConnectionRequest for a given client socket handlegetConnectionRequest in class AbstractPollingIoConnector<AprSession,Long>handle - the socket client handlenullprotected void close(Long handle) throws Exception
close in class AbstractPollingIoConnector<AprSession,Long>handle - the client socketException - any exception thrown by the underlying systems callsprotected boolean finishConnect(Long handle) throws Exception
AbstractPollingIoConnector.select(int) call. The socket will be
connected or reported as connection failed.finishConnect in class AbstractPollingIoConnector<AprSession,Long>handle - the client socket handle to finish to connectException - any exception thrown by the underlying systems callsprotected Long newHandle(SocketAddress localAddress) throws Exception
SocketAddressnewHandle in class AbstractPollingIoConnector<AprSession,Long>localAddress - the socket address for binding the new client socketException - any exception thrown by the underlying systems callsprotected AprSession newSession(IoProcessor<AprSession> processor, Long handle) throws Exception
IoSession from a connected socket client handle.
Will assign the created IoSession to the given
IoProcessor for managing future I/O events.newSession in class AbstractPollingIoConnector<AprSession,Long>processor - the processor in charge of this sessionhandle - the newly connected client socket handleIoSessionException - any exception thrown by the underlying systems callsprotected void register(Long handle, AbstractPollingIoConnector.ConnectionRequest request) throws Exception
register in class AbstractPollingIoConnector<AprSession,Long>handle - client socket handlerequest - the associated AbstractPollingIoConnector.ConnectionRequestException - any exception thrown by the underlying systems callsprotected int select(int timeout)
throws Exception
AbstractPollingIoConnector.selectedHandles()select in class AbstractPollingIoConnector<AprSession,Long>timeout - The timeout for the select() methodException - any exception thrown by the underlying systems callsprotected Iterator<Long> selectedHandles()
Iterator for the set of client sockets found connected or failed
to connect during the last AbstractPollingIoConnector.select(int) call.selectedHandles in class AbstractPollingIoConnector<AprSession,Long>protected void wakeup()
AbstractPollingIoConnector.select(int) method. Used when the poll set need to
be modified.wakeup in class AbstractPollingIoConnector<AprSession,Long>public TransportMetadata getTransportMetadata()
getTransportMetadata in interface IoServiceTransportMetadata that this service runs on.public SocketSessionConfig getSessionConfig()
getSessionConfig in interface IoServicegetSessionConfig in interface SocketConnectorpublic InetSocketAddress getDefaultRemoteAddress()
getDefaultRemoteAddress in interface IoConnectorgetDefaultRemoteAddress in interface SocketConnectorgetDefaultRemoteAddress in class AbstractIoConnectorIoConnector.connect() method.public void setDefaultRemoteAddress(InetSocketAddress defaultRemoteAddress)
IoConnector.connect() method.
This method overrides the IoConnector.setDefaultRemoteAddress(java.net.SocketAddress) method.setDefaultRemoteAddress in interface SocketConnectordefaultRemoteAddress - The remote address to setCopyright © 2004–2017 Apache MINA Project. All rights reserved.