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();