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