public final class AprSocketConnector extends AbstractPollingIoConnector<AprSession,java.lang.Long> implements SocketConnector
IoConnector
for ABR based socket transport (TCP/IP).AbstractPollingIoConnector.ConnectionRequest
AbstractIoService.ServiceOperationFuture
disposalLock
Constructor and Description |
---|
AprSocketConnector()
TODO : document superclass
|
AprSocketConnector(java.util.concurrent.Executor executor,
IoProcessor<AprSession> processor)
TODO : document superclass
|
AprSocketConnector(int processorCount)
TODO : document superclass
|
AprSocketConnector(IoProcessor<AprSession> processor)
TODO : document superclass
|
Modifier and Type | Method and Description |
---|---|
protected java.util.Iterator<java.lang.Long> |
allHandles()
Iterator for all the client sockets polled for connection. |
protected void |
close(java.lang.Long handle)
Close a client socket.
|
protected boolean |
connect(java.lang.Long handle,
java.net.SocketAddress remoteAddress)
Connect a newly created client socket handle to a remote
SocketAddress . |
protected AbstractPollingIoConnector.ConnectionRequest |
connectionRequest(java.lang.Long handle)
get the
AbstractPollingIoConnector.ConnectionRequest for a given client socket handle |
protected void |
destroy()
Destroy the polling system, will be called when this
IoConnector
implementation will be disposed. |
protected boolean |
finishConnect(java.lang.Long handle)
Finish the connection process of a client socket after it was marked as ready to process
by the
AbstractPollingIoConnector.select(int) call. |
java.net.InetSocketAddress |
getDefaultRemoteAddress()
Returns the default remote address to connect to when no argument
is specified in
IoConnector.connect() method. |
SocketSessionConfig |
getSessionConfig()
Returns the default configuration of the new
IoSession s
created by this service. |
TransportMetadata |
getTransportMetadata()
Returns the
TransportMetadata that this service runs on. |
protected void |
init()
Initialize the polling system, will be called at construction time.
|
protected java.lang.Long |
newHandle(java.net.SocketAddress localAddress)
Create a new client socket handle from a local
SocketAddress |
protected AprSession |
newSession(IoProcessor<AprSession> processor,
java.lang.Long handle)
Create a new
IoSession from a connected socket client handle. |
protected void |
register(java.lang.Long handle,
AbstractPollingIoConnector.ConnectionRequest request)
Register a new client socket for connection, add it to connection polling
|
protected boolean |
select(int timeout)
Check for connected sockets, interrupt when at least a connection is processed (connected or
failed to connect).
|
protected java.util.Iterator<java.lang.Long> |
selectedHandles()
Iterator for the set of client sockets found connected or
failed to connect during the last #select() call. |
void |
setDefaultRemoteAddress(java.net.InetSocketAddress defaultRemoteAddress)
TODO : add documentation
|
protected void |
wakeup()
Interrupt the
#select() method. |
connect0, dispose0
connect, connect, connect, connect, connect, connect, finishSessionInitialization0, getConnectTimeout, getConnectTimeoutCheckInterval, getConnectTimeoutMillis, setConnectTimeout, setConnectTimeoutCheckInterval, setConnectTimeoutMillis, setDefaultRemoteAddress, toString
addListener, broadcast, dispose, executeWorker, executeWorker, finishSessionInitialization, getActivationTime, getFilterChain, getFilterChainBuilder, getHandler, getIdleState, getIdleStatusChecker, getListeners, getManagedSessionCount, getManagedSessions, getScheduledWriteBytes, getScheduledWriteMessages, getSessionDataStructureFactory, getStatistics, isActive, isDisposed, isDisposing, notifyIdleness, removeListener, setFilterChainBuilder, setHandler, setSessionDataStructureFactory
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
connect, connect, connect, connect, connect, connect, getConnectTimeout, getConnectTimeoutMillis, setConnectTimeout, setConnectTimeoutMillis, setDefaultRemoteAddress
addListener, broadcast, dispose, getActivationTime, getFilterChain, getFilterChainBuilder, getHandler, getIdleState, getManagedSessionCount, getManagedSessions, getScheduledWriteBytes, getScheduledWriteMessages, getSessionDataStructureFactory, getStatistics, isActive, isDisposed, isDisposing, removeListener, setFilterChainBuilder, setHandler, setSessionDataStructureFactory
public AprSocketConnector()
public AprSocketConnector(int processorCount)
public AprSocketConnector(IoProcessor<AprSession> processor)
public AprSocketConnector(java.util.concurrent.Executor executor, IoProcessor<AprSession> processor)
protected void init() throws java.lang.Exception
init
in class AbstractPollingIoConnector<AprSession,java.lang.Long>
java.lang.Exception
- any exception thrown by the underlying system callsprotected void destroy() throws java.lang.Exception
IoConnector
implementation will be disposed.destroy
in class AbstractPollingIoConnector<AprSession,java.lang.Long>
java.lang.Exception
- any exception thrown by the underlying systems callsprotected java.util.Iterator<java.lang.Long> allHandles()
Iterator
for all the client sockets polled for connection.allHandles
in class AbstractPollingIoConnector<AprSession,java.lang.Long>
protected boolean connect(java.lang.Long handle, java.net.SocketAddress remoteAddress) throws java.lang.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,java.lang.Long>
handle
- the client socket handleremoteAddress
- the remote address where to connectjava.lang.Exception
protected AbstractPollingIoConnector.ConnectionRequest connectionRequest(java.lang.Long handle)
AbstractPollingIoConnector.ConnectionRequest
for a given client socket handleconnectionRequest
in class AbstractPollingIoConnector<AprSession,java.lang.Long>
handle
- the socket client handlenull
protected void close(java.lang.Long handle) throws java.lang.Exception
close
in class AbstractPollingIoConnector<AprSession,java.lang.Long>
handle
- the client socketjava.lang.Exception
- any exception thrown by the underlying systems callsprotected boolean finishConnect(java.lang.Long handle) throws java.lang.Exception
AbstractPollingIoConnector.select(int)
call. The socket will be connected or reported as connection
failed.finishConnect
in class AbstractPollingIoConnector<AprSession,java.lang.Long>
handle
- the client socket handle to finsh to connectjava.lang.Exception
- any exception thrown by the underlying systems callsprotected java.lang.Long newHandle(java.net.SocketAddress localAddress) throws java.lang.Exception
SocketAddress
newHandle
in class AbstractPollingIoConnector<AprSession,java.lang.Long>
localAddress
- the socket address for binding the new client socketjava.lang.Exception
- any exception thrown by the underlying systems callsprotected AprSession newSession(IoProcessor<AprSession> processor, java.lang.Long handle) throws java.lang.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,java.lang.Long>
processor
- the processor in charge of this sessionhandle
- the newly connected client socket handleIoSession
java.lang.Exception
- any exception thrown by the underlying systems callsprotected void register(java.lang.Long handle, AbstractPollingIoConnector.ConnectionRequest request) throws java.lang.Exception
register
in class AbstractPollingIoConnector<AprSession,java.lang.Long>
handle
- client socket handlerequest
- the associated AbstractPollingIoConnector.ConnectionRequest
java.lang.Exception
- any exception thrown by the underlying systems callsprotected boolean select(int timeout) throws java.lang.Exception
AbstractPollingIoConnector.selectedHandles()
select
in class AbstractPollingIoConnector<AprSession,java.lang.Long>
java.lang.Exception
- any exception thrown by the underlying systems callsprotected java.util.Iterator<java.lang.Long> selectedHandles()
Iterator
for the set of client sockets found connected or
failed to connect during the last #select()
call.selectedHandles
in class AbstractPollingIoConnector<AprSession,java.lang.Long>
protected void wakeup()
#select()
method. Used when the poll set need to be modified.wakeup
in class AbstractPollingIoConnector<AprSession,java.lang.Long>
public TransportMetadata getTransportMetadata()
TransportMetadata
that this service runs on.getTransportMetadata
in interface IoService
public SocketSessionConfig getSessionConfig()
IoSession
s
created by this service.getSessionConfig
in interface IoService
getSessionConfig
in interface SocketConnector
getSessionConfig
in class AbstractIoService
public java.net.InetSocketAddress getDefaultRemoteAddress()
IoConnector.connect()
method.getDefaultRemoteAddress
in interface IoConnector
getDefaultRemoteAddress
in interface SocketConnector
getDefaultRemoteAddress
in class AbstractIoConnector
public void setDefaultRemoteAddress(java.net.InetSocketAddress defaultRemoteAddress)
setDefaultRemoteAddress
in interface SocketConnector
Copyright © 2004-2019 Apache MINA Project. All Rights Reserved.