|
||||||||||
| 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,DatagramChannel>
org.apache.mina.transport.socket.nio.NioDatagramConnector
public final class NioDatagramConnector
IoConnector for datagram transport (UDP/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 | |
|---|---|
NioDatagramConnector()
Creates a new instance. |
|
NioDatagramConnector(Class<? extends IoProcessor<NioSession>> processorClass)
Constructor for NioDatagramConnector with default configuration with default configuration which will use a built-in
thread pool executor to manage the default number of processor instances. |
|
NioDatagramConnector(Class<? extends IoProcessor<NioSession>> processorClass,
int processorCount)
Constructor for NioDatagramConnector with default configuration which will use a built-in
thread pool executor to manage the given number of processor instances. |
|
NioDatagramConnector(int processorCount)
Creates a new instance. |
|
NioDatagramConnector(IoProcessor<NioSession> processor)
Creates a new instance. |
|
| Method Summary | |
|---|---|
protected Iterator<DatagramChannel> |
allHandles()
Iterator for all the client sockets polled for connection. |
protected void |
close(DatagramChannel handle)
Close a client socket. |
protected boolean |
connect(DatagramChannel 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(DatagramChannel 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(DatagramChannel handle)
get the AbstractPollingIoConnector.ConnectionRequest for a given client socket handle |
InetSocketAddress |
getDefaultRemoteAddress()
Returns the default remote address to connect to when no argument is specified in IoConnector.connect() method. |
DatagramSessionConfig |
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 DatagramChannel |
newHandle(SocketAddress localAddress)
Create a new client socket handle from a local SocketAddress |
protected NioSession |
newSession(IoProcessor<NioSession> processor,
DatagramChannel handle)
Create a new IoSession from a connected socket client handle. |
protected void |
register(DatagramChannel 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<DatagramChannel> |
selectedHandles()
Iterator for the set of client sockets found connected or
failed to connect during the last #select() call. |
void |
setDefaultRemoteAddress(InetSocketAddress defaultRemoteAddress)
|
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 org.apache.mina.core.service.AbstractIoService |
|---|
addListener, broadcast, dispose, executeWorker, executeWorker, getActivationTime, getFilterChain, getFilterChainBuilder, getHandler, getListeners, getManagedSessionCount, getManagedSessions, getScheduledWriteBytes, getScheduledWriteMessages, getSessionDataStructureFactory, getStatistics, initSession, isActive, isDisposed, isDisposing, removeListener, setFilterChainBuilder, setHandler, setSessionDataStructureFactory |
| 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, getManagedSessionCount, getManagedSessions, getScheduledWriteBytes, getScheduledWriteMessages, getSessionDataStructureFactory, getStatistics, isActive, isDisposed, isDisposing, removeListener, setFilterChainBuilder, setHandler, setSessionDataStructureFactory |
| Constructor Detail |
|---|
public NioDatagramConnector()
public NioDatagramConnector(int processorCount)
public NioDatagramConnector(IoProcessor<NioSession> processor)
public NioDatagramConnector(Class<? extends IoProcessor<NioSession>> processorClass,
int processorCount)
NioDatagramConnector with default configuration which will use a built-in
thread pool executor to manage the given number of processor instances. The processor class must have
a constructor that accepts ExecutorService or Executor as its single argument, or, failing that, a
no-arg constructor.
processorClass - the processor class.processorCount - the number of processors to instantiate.SimpleIoProcessorPool.SimpleIoProcessorPool(Class, Executor, int)public NioDatagramConnector(Class<? extends IoProcessor<NioSession>> processorClass)
NioDatagramConnector with default configuration with default configuration which will use a built-in
thread pool executor to manage the default number of processor instances. The processor class must have
a constructor that accepts ExecutorService or Executor as its single argument, or, failing that, a
no-arg constructor. The default number of instances is equal to the number of processor cores
in the system, plus one.
processorClass - the processor class.SimpleIoProcessorPool.SimpleIoProcessorPool(Class, Executor, int),
SimpleIoProcessorPool.DEFAULT_SIZE| Method Detail |
|---|
public TransportMetadata getTransportMetadata()
IoServiceTransportMetadata that this service runs on.
getTransportMetadata in interface IoServicepublic DatagramSessionConfig getSessionConfig()
AbstractIoServiceIoSessions
created by this service.
getSessionConfig in interface IoServicegetSessionConfig in class AbstractIoServicepublic InetSocketAddress getDefaultRemoteAddress()
AbstractIoConnectorIoConnector.connect() method.
getDefaultRemoteAddress in interface IoConnectorgetDefaultRemoteAddress in interface DatagramConnectorgetDefaultRemoteAddress in class AbstractIoConnectorpublic void setDefaultRemoteAddress(InetSocketAddress defaultRemoteAddress)
setDefaultRemoteAddress in interface DatagramConnector
protected void init()
throws Exception
AbstractPollingIoConnector
init in class AbstractPollingIoConnector<NioSession,DatagramChannel>Exception - any exception thrown by the underlying system calls
protected DatagramChannel newHandle(SocketAddress localAddress)
throws Exception
AbstractPollingIoConnectorSocketAddress
newHandle in class AbstractPollingIoConnector<NioSession,DatagramChannel>localAddress - the socket address for binding the new client socket
Exception - any exception thrown by the underlying systems calls
protected boolean connect(DatagramChannel handle,
SocketAddress remoteAddress)
throws Exception
AbstractPollingIoConnectorSocketAddress.
This operation is non-blocking, so at end of the call the socket can be still in connection
process.
connect in class AbstractPollingIoConnector<NioSession,DatagramChannel>handle - the client socket handleremoteAddress - the remote address where to connect
Exception
protected NioSession newSession(IoProcessor<NioSession> processor,
DatagramChannel handle)
AbstractPollingIoConnectorIoSession 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,DatagramChannel>processor - the processor in charge of this sessionhandle - the newly connected client socket handle
IoSession
protected void close(DatagramChannel handle)
throws Exception
AbstractPollingIoConnector
close in class AbstractPollingIoConnector<NioSession,DatagramChannel>handle - the client socket
Exception - any exception thrown by the underlying systems callsprotected Iterator<DatagramChannel> allHandles()
AbstractPollingIoConnectorIterator for all the client sockets polled for connection.
allHandles in class AbstractPollingIoConnector<NioSession,DatagramChannel>protected AbstractPollingIoConnector.ConnectionRequest getConnectionRequest(DatagramChannel handle)
AbstractPollingIoConnectorAbstractPollingIoConnector.ConnectionRequest for a given client socket handle
getConnectionRequest in class AbstractPollingIoConnector<NioSession,DatagramChannel>handle - the socket client handle
null
protected void destroy()
throws Exception
AbstractPollingIoConnectorIoConnector
implementation will be disposed.
destroy in class AbstractPollingIoConnector<NioSession,DatagramChannel>Exception - any exception thrown by the underlying systems calls
protected boolean finishConnect(DatagramChannel handle)
throws Exception
AbstractPollingIoConnectorAbstractPollingIoConnector.select(int) call. The socket will be connected or reported as connection
failed.
finishConnect in class AbstractPollingIoConnector<NioSession,DatagramChannel>handle - the client socket handle to finsh to connect
Exception - any exception thrown by the underlying systems calls
protected void register(DatagramChannel handle,
AbstractPollingIoConnector.ConnectionRequest request)
throws Exception
AbstractPollingIoConnector
register in class AbstractPollingIoConnector<NioSession,DatagramChannel>handle - client socket handlerequest - the associated AbstractPollingIoConnector.ConnectionRequest
Exception - any exception thrown by the underlying systems calls
protected int select(int timeout)
throws Exception
AbstractPollingIoConnectorAbstractPollingIoConnector.selectedHandles()
select in class AbstractPollingIoConnector<NioSession,DatagramChannel>Exception - any exception thrown by the underlying systems callsprotected Iterator<DatagramChannel> selectedHandles()
AbstractPollingIoConnectorIterator for the set of client sockets found connected or
failed to connect during the last #select() call.
selectedHandles in class AbstractPollingIoConnector<NioSession,DatagramChannel>protected void wakeup()
AbstractPollingIoConnector#select() method. Used when the poll set need to be modified.
wakeup in class AbstractPollingIoConnector<NioSession,DatagramChannel>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||