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 2007/09/13 15:03:05 UTC

svn commit: r575301 - in /mina/sandbox/jvermillard/apr/src/main/java/org/apache/mina/transport/apr: APRConnector.java APRIoProcessor.java APRSessionImpl.java

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) {