Author: elecharny
Date: Sun Mar  8 19:24:58 2009
New Revision: 751504

URL: http://svn.apache.org/viewvc?rev=751504&view=rev
Log:
o Added Javadoc to the WriteRequestQueue interface
o Rename CloseRequestAwareWriteRequestQueue to CloseAwareWriteQueue
o Added some comments in code
o Renamed finishSessionInitialization to initSession
o Minor refactoring

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/service/AbstractIoService.java
    
mina/trunk/core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java
    
mina/trunk/core/src/main/java/org/apache/mina/core/session/DefaultIoSessionDataStructureFactory.java
    
mina/trunk/core/src/main/java/org/apache/mina/core/write/WriteRequestQueue.java
    
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketAcceptor.java
    
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeAcceptor.java
    
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeConnector.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=751504&r1=751503&r2=751504&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 Mar  8 19:24:58 2009
@@ -252,7 +252,7 @@
             session = newSession;
         }
 
-        finishSessionInitialization(session, null, null);
+        initSession(session, null, null);
 
         try {
             
this.getFilterChainBuilder().buildFilterChain(session.getFilterChain());

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=751504&r1=751503&r2=751504&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 Mar  8 19:24:58 2009
@@ -478,12 +478,15 @@
                 H handle = handles.next();
                 handles.remove();
 
+                // Associates a new created connection to a processor,
+                // and get back a session
                 T session = accept(processor, handle);
+                
                 if (session == null) {
                     break;
                 }
 
-                finishSessionInitialization(session, null, null);
+                initSession(session, null, null);
 
                 // add the session to the SocketIoProcessor
                 session.getProcessor().add(session);

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=751504&r1=751503&r2=751504&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 Mar  8 19:24:58 2009
@@ -324,7 +324,7 @@
             if (connect(handle, remoteAddress)) {
                 ConnectFuture future = new DefaultConnectFuture();
                 T session = newSession(processor, handle);
-                finishSessionInitialization(session, future, 
sessionInitializer);
+                initSession(session, future, sessionInitializer);
                 // Forward the remaining process to the IoProcessor.
                 session.getProcessor().add(session);
                 success = true;
@@ -432,7 +432,7 @@
             try {
                 if (finishConnect(handle)) {
                     T session = newSession(processor, handle);
-                    finishSessionInitialization(session, connectionRequest, 
connectionRequest.getSessionInitializer());
+                    initSession(session, connectionRequest, 
connectionRequest.getSessionInitializer());
                     // Forward the remaining process to the IoProcessor.
                     session.getProcessor().add(session);
                     nHandles ++;

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/core/service/AbstractIoService.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/service/AbstractIoService.java?rev=751504&r1=751503&r2=751504&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/core/service/AbstractIoService.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/core/service/AbstractIoService.java
 Sun Mar  8 19:24:58 2009
@@ -437,12 +437,13 @@
 
     // TODO Figure out make it work without causing a compiler error / warning.
     @SuppressWarnings("unchecked")
-    protected final void finishSessionInitialization(IoSession session,
+    protected final void initSession(IoSession session,
             IoFuture future, IoSessionInitializer sessionInitializer) {
         // Update lastIoTime if needed.
         if (stats.getLastReadTime() == 0) {
             ((IoServiceStatistics)stats).setLastReadTime(getActivationTime());
         }
+        
         if (stats.getLastWriteTime() == 0) {
             ((IoServiceStatistics)stats).setLastWriteTime(getActivationTime());
         }
@@ -472,7 +473,7 @@
                     "Failed to initialize a writeRequestQueue.", e);
         }
 
-        if (future != null && future instanceof ConnectFuture) {
+        if ((future != null) && (future instanceof ConnectFuture)) {
             // DefaultIoFilterChain will notify the future. (We support 
ConnectFuture only for now).
             session.setAttribute(DefaultIoFilterChain.SESSION_CREATED_FUTURE,
                     future);

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java?rev=751504&r1=751503&r2=751504&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java
 Sun Mar  8 19:24:58 2009
@@ -553,11 +553,13 @@
     }
 
     /**
-     * TODO Add method documentation
+     * Create a new close aware write queue, based on the given write queue.
+     * 
+     * @param writeRequestQueue The write request queue
      */
     public final void setWriteRequestQueue(WriteRequestQueue 
writeRequestQueue) {
         this.writeRequestQueue =
-            new CloseRequestAwareWriteRequestQueue(writeRequestQueue);
+            new CloseAwareWriteQueue(writeRequestQueue);
     }
 
 
@@ -1244,38 +1246,61 @@
     
     
     /**
-     * TODO Add method documentation. Name is ridiculously too long.
+     * A queue which handles the CLOSE request.
+     * 
+     * TODO : Check that when closing a session, all the pending
+     * requests are correctly sent.
      */
-    private class CloseRequestAwareWriteRequestQueue implements 
WriteRequestQueue {
+    private class CloseAwareWriteQueue implements WriteRequestQueue {
 
         private final WriteRequestQueue q;
 
-        public CloseRequestAwareWriteRequestQueue(WriteRequestQueue q) {
+        /**
+         * {...@inheritdoc}
+         */
+        public CloseAwareWriteQueue(WriteRequestQueue q) {
             this.q = q;
         }
 
+        /**
+         * {...@inheritdoc}
+         */
         public synchronized WriteRequest poll(IoSession session) {
             WriteRequest answer = q.poll(session);
+            
             if (answer == CLOSE_REQUEST) {
                 AbstractIoSession.this.close();
                 dispose(session);
                 answer = null;
             }
+            
             return answer;
         }
 
+        /**
+         * {...@inheritdoc}
+         */
         public void offer(IoSession session, WriteRequest e) {
             q.offer(session, e);
         }
 
+        /**
+         * {...@inheritdoc}
+         */
         public boolean isEmpty(IoSession session) {
             return q.isEmpty(session);
         }
 
+        /**
+         * {...@inheritdoc}
+         */
         public void clear(IoSession session) {
             q.clear(session);
         }
 
+        /**
+         * {...@inheritdoc}
+         */
         public void dispose(IoSession session) {
             q.dispose(session);
         }

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/core/session/DefaultIoSessionDataStructureFactory.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/session/DefaultIoSessionDataStructureFactory.java?rev=751504&r1=751503&r2=751504&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/core/session/DefaultIoSessionDataStructureFactory.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/core/session/DefaultIoSessionDataStructureFactory.java
 Sun Mar  8 19:24:58 2009
@@ -159,24 +159,39 @@
     }
     
     private static class DefaultWriteRequestQueue implements WriteRequestQueue 
{
-
+        /** A queue to store incoming write requests */
         private final Queue<WriteRequest> q = new 
CircularQueue<WriteRequest>(16);
         
+        /**
+         * {...@inheritdoc}
+         */
         public void dispose(IoSession session) {
         }
         
+        /**
+         * {...@inheritdoc}
+         */
         public void clear(IoSession session) {
             q.clear();
         }
 
+        /**
+         * {...@inheritdoc}
+         */
         public synchronized boolean isEmpty(IoSession session) {
             return q.isEmpty();
         }
 
+        /**
+         * {...@inheritdoc}
+         */
         public synchronized void offer(IoSession session, WriteRequest 
writeRequest) {
             q.offer(writeRequest);
         }
 
+        /**
+         * {...@inheritdoc}
+         */
         public synchronized WriteRequest poll(IoSession session) {
             return q.poll();
         }

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/core/write/WriteRequestQueue.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/write/WriteRequestQueue.java?rev=751504&r1=751503&r2=751504&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/core/write/WriteRequestQueue.java 
(original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/core/write/WriteRequestQueue.java 
Sun Mar  8 19:24:58 2009
@@ -30,14 +30,37 @@
  */
 public interface WriteRequestQueue {
 
+    /**
+     * Get the first request available in the queue for a session.
+     * @param session The session 
+     * @return The first available request, if any. 
+     */
     WriteRequest poll(IoSession session);
+    
+    /**
+     * Add a new WriteRequest to the session write's queue
+     * @param session The session
+     * @param writeRequest The writeRequest to add
+     */
     void offer(IoSession session, WriteRequest writeRequest);
+    
+    /**
+     * Tells if the WriteRequest queue is empty or not for a session
+     * @param session The session to check
+     * @return <code>true</code> if the writeRequest is empty
+     */
     boolean isEmpty(IoSession session);
+    
+    /**
+     * Removes all the requests from this session's queue.
+     * @param session The associated session
+     */
     void clear(IoSession session);
     
     /**
      * Disposes any releases associated with the specified session.
      * This method is invoked on disconnection.
+     * @param session The associated session
      */
     void dispose(IoSession session);
 }

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketAcceptor.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketAcceptor.java?rev=751504&r1=751503&r2=751504&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketAcceptor.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketAcceptor.java
 Sun Mar  8 19:24:58 2009
@@ -216,6 +216,7 @@
 
         // accept the connection from the client
         SocketChannel ch = handle.accept();
+        
         if (ch == null) {
             return null;
         }

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeAcceptor.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeAcceptor.java?rev=751504&r1=751503&r2=751504&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeAcceptor.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeAcceptor.java
 Sun Mar  8 19:24:58 2009
@@ -162,6 +162,6 @@
     }
 
     void doFinishSessionInitialization(IoSession session, IoFuture future) {
-        finishSessionInitialization(session, future, null);
+        initSession(session, future, null);
     }
 }

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeConnector.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeConnector.java?rev=751504&r1=751503&r2=751504&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeConnector.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeConnector.java
 Sun Mar  8 19:24:58 2009
@@ -99,7 +99,7 @@
         VmPipeSession localSession = new VmPipeSession(this,
                 getListeners(), actualLocalAddress, getHandler(), entry);
 
-        finishSessionInitialization(localSession, future, sessionInitializer);
+        initSession(localSession, future, sessionInitializer);
 
         // and reclaim the local address when the connection is closed.
         localSession.getCloseFuture().addListener(LOCAL_ADDRESS_RECLAIMER);


Reply via email to