|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.mina.core.service.AbstractIoService
org.apache.mina.core.service.AbstractIoConnector
org.apache.mina.core.polling.AbstractPollingIoConnector<NioSession,SocketChannel>
org.apache.mina.transport.socket.nio.NioSocketConnector
public final class NioSocketConnector
IoConnector for socket transport (TCP/IP).
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.apache.mina.core.polling.AbstractPollingIoConnector |
|---|
AbstractPollingIoConnector.ConnectionRequest |
| Nested classes/interfaces inherited from class org.apache.mina.core.service.AbstractIoService |
|---|
AbstractIoService.ServiceOperationFuture |
| Field Summary |
|---|
| Fields inherited from class org.apache.mina.core.service.AbstractIoService |
|---|
disposalLock |
| Constructor Summary | |
|---|---|
NioSocketConnector()
Constructor for NioSocketConnector with default configuration (multiple thread model). |
|
NioSocketConnector(Executor executor,
IoProcessor<NioSession> processor)
Constructor for NioSocketConnector 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. |
|
NioSocketConnector(int processorCount)
Constructor for NioSocketConnector with default configuration, and
given number of NioProcessor for multithreading I/O operations |
|
NioSocketConnector(IoProcessor<NioSession> processor)
Constructor for NioSocketConnector with default configuration but a
specific IoProcessor, useful for sharing the same processor over multiple
IoService of the same type. |
|
| Method Summary | |
|---|---|
protected Iterator<SocketChannel> |
allHandles()
Iterator for all the client sockets polled for connection. |
protected void |
close(SocketChannel handle)
Close a client socket. |
protected boolean |
connect(SocketChannel handle,
SocketAddress remoteAddress)
Connect a newly created client socket handle to a remote SocketAddress. |
protected AbstractPollingIoConnector.ConnectionRequest |
connectionRequest(SocketChannel 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(SocketChannel handle)
Finish the connection process of a client socket after it was marked as ready to process by the AbstractPollingIoConnector.select(int) call. |
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 IoSessions
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 SocketChannel |
newHandle(SocketAddress localAddress)
Create a new client socket handle from a local SocketAddress |
protected NioSession |
newSession(IoProcessor<NioSession> processor,
SocketChannel handle)
Create a new IoSession from a connected socket client handle. |
protected void |
register(SocketChannel 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 Iterator<SocketChannel> |
selectedHandles()
Iterator for the set of client sockets found connected or
failed to connect during the last #select() call. |
void |
setDefaultRemoteAddress(InetSocketAddress defaultRemoteAddress)
TODO : add documentation |
protected void |
wakeup()
Interrupt the #select() method. |
| Methods inherited from class org.apache.mina.core.polling.AbstractPollingIoConnector |
|---|
connect0, dispose0 |
| Methods inherited from class org.apache.mina.core.service.AbstractIoConnector |
|---|
connect, connect, connect, connect, connect, connect, finishSessionInitialization0, getConnectTimeout, getConnectTimeoutCheckInterval, getConnectTimeoutMillis, setConnectTimeout, setConnectTimeoutCheckInterval, setConnectTimeoutMillis, setDefaultRemoteAddress, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.apache.mina.core.service.IoConnector |
|---|
connect, connect, connect, connect, connect, connect, getConnectTimeout, getConnectTimeoutMillis, setConnectTimeout, setConnectTimeoutMillis, setDefaultRemoteAddress |
| Methods inherited from interface org.apache.mina.core.service.IoService |
|---|
addListener, broadcast, dispose, getActivationTime, getFilterChain, getFilterChainBuilder, getHandler, getIdleState, getManagedSessionCount, getManagedSessions, getScheduledWriteBytes, getScheduledWriteMessages, getSessionDataStructureFactory, getStatistics, isActive, isDisposed, isDisposing, removeListener, setFilterChainBuilder, setHandler, setSessionDataStructureFactory |
| Constructor Detail |
|---|
public NioSocketConnector()
NioSocketConnector with default configuration (multiple thread model).
public NioSocketConnector(int processorCount)
NioSocketConnector with default configuration, and
given number of NioProcessor for multithreading I/O operations
processorCount - the number of processor to create and place in a
SimpleIoProcessorPoolpublic NioSocketConnector(IoProcessor<NioSession> processor)
NioSocketConnector 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 events
public NioSocketConnector(Executor executor,
IoProcessor<NioSession> processor)
NioSocketConnector 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 operations| Method Detail |
|---|
protected void init()
throws Exception
init in class AbstractPollingIoConnector<NioSession,SocketChannel>Exception - any exception thrown by the underlying system calls
protected void destroy()
throws Exception
IoConnector
implementation will be disposed.
destroy in class AbstractPollingIoConnector<NioSession,SocketChannel>Exception - any exception thrown by the underlying systems callspublic TransportMetadata getTransportMetadata()
TransportMetadata that this service runs on.
getTransportMetadata in interface IoServicepublic SocketSessionConfig getSessionConfig()
IoSessions
created by this service.
getSessionConfig in interface IoServicegetSessionConfig in interface SocketConnectorgetSessionConfig in class AbstractIoServicepublic InetSocketAddress getDefaultRemoteAddress()
IoConnector.connect() method.
getDefaultRemoteAddress in interface IoConnectorgetDefaultRemoteAddress in interface SocketConnectorgetDefaultRemoteAddress in class AbstractIoConnectorpublic void setDefaultRemoteAddress(InetSocketAddress defaultRemoteAddress)
setDefaultRemoteAddress in interface SocketConnectorprotected Iterator<SocketChannel> allHandles()
Iterator for all the client sockets polled for connection.
allHandles in class AbstractPollingIoConnector<NioSession,SocketChannel>
protected boolean connect(SocketChannel 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<NioSession,SocketChannel>handle - the client socket handleremoteAddress - the remote address where to connect
Exceptionprotected AbstractPollingIoConnector.ConnectionRequest connectionRequest(SocketChannel handle)
AbstractPollingIoConnector.ConnectionRequest for a given client socket handle
connectionRequest in class AbstractPollingIoConnector<NioSession,SocketChannel>handle - the socket client handle
null
protected void close(SocketChannel handle)
throws Exception
close in class AbstractPollingIoConnector<NioSession,SocketChannel>handle - the client socket
Exception - any exception thrown by the underlying systems calls
protected boolean finishConnect(SocketChannel handle)
throws Exception
AbstractPollingIoConnector.select(int) call. The socket will be connected or reported as connection
failed.
finishConnect in class AbstractPollingIoConnector<NioSession,SocketChannel>handle - the client socket handle to finsh to connect
Exception - any exception thrown by the underlying systems calls
protected SocketChannel newHandle(SocketAddress localAddress)
throws Exception
SocketAddress
newHandle in class AbstractPollingIoConnector<NioSession,SocketChannel>localAddress - the socket address for binding the new client socket
Exception - any exception thrown by the underlying systems calls
protected NioSession newSession(IoProcessor<NioSession> processor,
SocketChannel handle)
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<NioSession,SocketChannel>processor - the processor in charge of this sessionhandle - the newly connected client socket handle
IoSession
protected void register(SocketChannel handle,
AbstractPollingIoConnector.ConnectionRequest request)
throws Exception
register in class AbstractPollingIoConnector<NioSession,SocketChannel>handle - client socket handlerequest - the associated AbstractPollingIoConnector.ConnectionRequest
Exception - any exception thrown by the underlying systems calls
protected boolean select(int timeout)
throws Exception
AbstractPollingIoConnector.selectedHandles()
select in class AbstractPollingIoConnector<NioSession,SocketChannel>Exception - any exception thrown by the underlying systems callsprotected Iterator<SocketChannel> selectedHandles()
Iterator for the set of client sockets found connected or
failed to connect during the last #select() call.
selectedHandles in class AbstractPollingIoConnector<NioSession,SocketChannel>protected void wakeup()
#select() method. Used when the poll set need to be modified.
wakeup in class AbstractPollingIoConnector<NioSession,SocketChannel>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||