You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by jv...@apache.org on 2008/06/29 09:40:07 UTC
svn commit: r672609 - in
/mina/trunk/core/src/main/java/org/apache/mina/core/polling:
AbstractPollingConnectionlessIoAcceptor.java AbstractPollingIoAcceptor.java
AbstractPollingIoConnector.java AbstractPollingIoProcessor.java
Author: jvermillard
Date: Sun Jun 29 00:40:06 2008
New Revision: 672609
URL: http://svn.apache.org/viewvc?rev=672609&view=rev
Log:
more polling javadoc,
added TODO to AbstractPollingConectionlessIoAcceptor
Modified:
mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingConnectionlessIoAcceptor.java
mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoAcceptor.java
mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoConnector.java
mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
Modified: mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingConnectionlessIoAcceptor.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingConnectionlessIoAcceptor.java?rev=672609&r1=672608&r2=672609&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingConnectionlessIoAcceptor.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingConnectionlessIoAcceptor.java Sun Jun 29 00:40:06 2008
@@ -48,6 +48,7 @@
import org.apache.mina.core.write.WriteRequestQueue;
/**
+ * TODO Add documentation
* {@link IoAcceptor} for datagram transport (UDP/IP).
*
* @author The Apache MINA Project (dev@mina.apache.org)
Modified: mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoAcceptor.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoAcceptor.java?rev=672609&r1=672608&r2=672609&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoAcceptor.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoAcceptor.java Sun Jun 29 00:40:06 2008
@@ -47,20 +47,22 @@
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
/**
- * A base class for implementing transport using a polling strategy. The underlying sockets
- * will be checked in an active loop and woke up when an socket needed to be processed.
- * This class handle the logic behind binding, accepting and disposing the server sockets.
- * The {@link AbstractIoAcceptor} {@link Executor} will be used for running client accepting
- * class and an {@link AbstractPollingIoProcessor} will be used for processing client I/O operations
- * like reading, writing and closing.
+ * A base class for implementing transport using a polling strategy. The
+ * underlying sockets will be checked in an active loop and woke up when an
+ * socket needed to be processed. This class handle the logic behind binding,
+ * accepting and disposing the server sockets. An {@link Executor} will be used
+ * for running client accepting and an {@link AbstractPollingIoProcessor} will
+ * be used for processing client I/O operations like reading, writing and
+ * closing.
*
- * All the low level methods for binding, accepting, closing need to be provided by the subclassing
- * implementation.
+ * All the low level methods for binding, accepting, closing need to be provided
+ * by the subclassing implementation.
*
* @see NioSocketAcceptor for a example of implementation
*
* @author The Apache MINA Project (dev@mina.apache.org)
- * @version $Rev$, $Date$
+ * @version $Rev$, $Date: 2008-06-26 17:58:30 +0200 (jeu, 26 jun 2008)
+ * $
*/
public abstract class AbstractPollingIoAcceptor<T extends AbstractIoSession, H>
extends AbstractIoAcceptor {
Modified: mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoConnector.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoConnector.java?rev=672609&r1=672608&r2=672609&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoConnector.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoConnector.java Sun Jun 29 00:40:06 2008
@@ -44,10 +44,22 @@
import org.apache.mina.core.session.IoSessionInitializer;
/**
- * TODO Add documentation
+ * A base class for implementing client transport using a polling strategy. The
+ * underlying sockets will be checked in an active loop and woke up when an
+ * socket needed to be processed. This class handle the logic behind binding,
+ * connecting and disposing the client sockets. A {@link Executor} will be used
+ * for running client connection, and an {@link AbstractPollingIoProcessor} will
+ * be used for processing connected client I/O operations like reading, writing
+ * and closing.
+ *
+ * All the low level methods for binding, connecting, closing need to be
+ * provided by the subclassing implementation.
+ *
+ * @see NioSocketConnector for a example of implementation
*
* @author The Apache MINA Project (dev@mina.apache.org)
- * @version $Rev$, $Date$
+ * @version $Rev$, $Date: 2008-06-28 23:27:00 +0200 (sam., 28 juin
+ * 2008) $
*/
public abstract class AbstractPollingIoConnector<T extends AbstractIoSession, H>
extends AbstractIoConnector {
Modified: mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java?rev=672609&r1=672608&r2=672609&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java Sun Jun 29 00:40:06 2008
@@ -126,14 +126,23 @@
return cls.getSimpleName() + '-' + newThreadId;
}
+ /**
+ * {@inheritDoc}
+ */
public final boolean isDisposing() {
return disposing;
}
+ /**
+ * {@inheritDoc}
+ */
public final boolean isDisposed() {
return disposed;
}
-
+
+ /**
+ * {@inheritDoc}
+ */
public final void dispose() {
if (disposed) {
return;
@@ -160,6 +169,10 @@
*/
protected abstract boolean select(int timeout) throws Exception;
protected abstract boolean isSelectorEmpty();
+
+ /**
+ * Interrupt the {@link AbstractPollingIoProcessor#select(int) call.
+ */
protected abstract void wakeup();
protected abstract Iterator<T> allSessions();
protected abstract Iterator<T> selectedSessions();
@@ -215,6 +228,9 @@
protected abstract int write(T session, IoBuffer buf, int length) throws Exception;
protected abstract int transferFile(T session, FileRegion region, int length) throws Exception;
+ /**
+ * {@inheritDoc}
+ */
public final void add(T session) {
if (isDisposing()) {
throw new IllegalStateException("Already disposed.");
@@ -224,6 +240,9 @@
startupWorker();
}
+ /**
+ * {@inheritDoc}
+ */
public final void remove(T session) {
scheduleRemove(session);
startupWorker();
@@ -233,6 +252,9 @@
removingSessions.add(session);
}
+ /**
+ * {@inheritDoc}
+ */
public final void flush(T session) {
// The following optimization has been disabled because it can cause StackOverflowError.
//if (Thread.currentThread() == workerThread) {
@@ -256,6 +278,9 @@
return false;
}
+ /**
+ * {@inheritDoc}
+ */
public final void updateTrafficMask(T session) {
scheduleTrafficControl(session);
wakeup();