Author: jvermillard
Date: Thu Sep 13 06:03:05 2007
New Revision: 575301

URL: http://svn.apache.org/viewvc?rev=575301&view=rev
Log:
APR :
 - the sent even is correctly fired
 - the connect future wait for the socket being correctly added to the pollset

Modified:
    
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRConnector.java
    
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRIoProcessor.java
    
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRSessionImpl.java

Modified: 
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRConnector.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRConnector.java?rev=575301&r1=575300&r2=575301&view=diff
==============================================================================
--- 
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRConnector.java
 (original)
+++ 
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRConnector.java
 Thu Sep 13 06:03:05 2007
@@ -117,7 +117,7 @@
 
                        // Forward the remaining process to the APRIoProcessor.
                        session.getIoProcessor().addNew(session);
-                       future.setSession(session);
+                       //future.setSession(session);
 
                        success = true;
                        return future;

Modified: 
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRIoProcessor.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRIoProcessor.java?rev=575301&r1=575300&r2=575301&view=diff
==============================================================================
--- 
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRIoProcessor.java
 (original)
+++ 
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRIoProcessor.java
 Thu Sep 13 06:03:05 2007
@@ -6,7 +6,9 @@
 import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.Executor;
 
+import org.apache.mina.common.AbstractIoFilterChain;
 import org.apache.mina.common.ByteBuffer;
+import org.apache.mina.common.ConnectFuture;
 import org.apache.mina.common.ExceptionMonitor;
 import org.apache.mina.common.IdleStatus;
 import org.apache.mina.common.IoService;
@@ -115,6 +117,7 @@
                        int rv;
                                rv = Poll.add(pollset, session.getAPRSocket(), 
Poll.APR_POLLIN/*| Poll.APR_POLLOUT*/);
                        if (rv == Status.APR_SUCCESS) {
+                               
((ConnectFuture)session.getAttribute(AbstractIoFilterChain.CONNECT_FUTURE)).setSession(session);
                                System.out.println("Added worker to pollset");
                                managedSessions.put(session.getAPRSocket(), 
session);
                                socketCount++;
@@ -125,7 +128,7 @@
                                // FIXME: find a way to bring the real APR 
error from returned codes
                                
session.getFilterChain().fireExceptionCaught(session,
                                                new RuntimeException("APR Error 
: "+Error.strerror(rv)));
-                       }       
+                       }
                }
        }
 
@@ -323,7 +326,7 @@
                                        /* is it OK ? : Two times size of the 
created pollset */
                                        long[] desc = new long[socketCount * 2];
 
-                                       /* use 100 milliseconds poll timeout, 
TODO : parametrize for more latency/CPU usage control*/
+                                       /* use 100 milliseconds poll timeout, 
TODO : parameterize for more latency/CPU usage control*/
                                        int rv = Poll.poll(pollset, 100000, 
desc, false);
                                        if (rv > 0) {
                                                for (int n = 0; n < rv; n++) {

Modified: 
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRSessionImpl.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRSessionImpl.java?rev=575301&r1=575300&r2=575301&view=diff
==============================================================================
--- 
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRSessionImpl.java
 (original)
+++ 
mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr/APRSessionImpl.java
 Thu Sep 13 06:03:05 2007
@@ -99,6 +99,10 @@
                }
        }
 
+    protected void write0(WriteRequest writeRequest) {
+        filterChain.fireFilterWrite(this, writeRequest);
+    }
+
        public long getScheduledWriteBytes() {
                int size = 0;
                synchronized (writeRequestQueue) {


Reply via email to