[jboss-remoting-commits] JBoss Remoting SVN: r4788 - in remoting3/trunk: core/src/main/java/org/jboss/remoting/core and 2 other directories.

jboss-remoting-commits at lists.jboss.org jboss-remoting-commits at lists.jboss.org
Wed Jan 7 23:17:15 EST 2009


Author: david.lloyd at jboss.com
Date: 2009-01-07 23:17:15 -0500 (Wed, 07 Jan 2009)
New Revision: 4788

Modified:
   remoting3/trunk/build.xml
   remoting3/trunk/core/src/main/java/org/jboss/remoting/core/ClientImpl.java
   remoting3/trunk/core/src/main/java/org/jboss/remoting/core/util/QueueExecutor.java
   remoting3/trunk/protocol/multiplex/src/main/java/org/jboss/remoting/protocol/multiplex/MultiplexConnection.java
   remoting3/trunk/protocol/multiplex/src/main/java/org/jboss/remoting/protocol/multiplex/MultiplexReadHandler.java
Log:
Update for XNIO 1.2.0.CR2

Modified: remoting3/trunk/build.xml
===================================================================
--- remoting3/trunk/build.xml	2009-01-08 04:16:26 UTC (rev 4787)
+++ remoting3/trunk/build.xml	2009-01-08 04:17:15 UTC (rev 4788)
@@ -100,7 +100,7 @@
     <target name="lib.xnio-api" depends="jboss.repository">
         <mvn:dependencies pathId="lib.xnio-api.classpath">
             <mvn:remoteRepository refid="jboss.repository"/>
-            <mvn:dependency groupId="org.jboss.xnio" artifactId="xnio-api" version="1.2.0.CR1"/>
+            <mvn:dependency groupId="org.jboss.xnio" artifactId="xnio-api" version="1.2.0.CR2"/>
         </mvn:dependencies>
         <property name="lib.xnio-api.local" refid="lib.xnio-api.classpath"/>
     </target>
@@ -110,7 +110,7 @@
     <target name="lib.xnio-nio" depends="jboss.repository">
         <mvn:dependencies pathId="lib.xnio-nio.classpath">
             <mvn:remoteRepository refid="jboss.repository"/>
-            <mvn:dependency groupId="org.jboss.xnio" artifactId="xnio-nio" version="1.2.0.CR1"/>
+            <mvn:dependency groupId="org.jboss.xnio" artifactId="xnio-nio" version="1.2.0.CR2"/>
         </mvn:dependencies>
         <property name="lib.xnio-nio.local" refid="lib.xnio-nio.classpath"/>
     </target>

Modified: remoting3/trunk/core/src/main/java/org/jboss/remoting/core/ClientImpl.java
===================================================================
--- remoting3/trunk/core/src/main/java/org/jboss/remoting/core/ClientImpl.java	2009-01-08 04:16:26 UTC (rev 4787)
+++ remoting3/trunk/core/src/main/java/org/jboss/remoting/core/ClientImpl.java	2009-01-08 04:17:15 UTC (rev 4788)
@@ -79,11 +79,7 @@
         final ReplyHandler replyHandler = futureReply.getReplyHandler();
         final RemoteRequestContext requestContext = handle.getResource().receiveRequest(actualRequest, replyHandler);
         futureReply.setRemoteRequestContext(requestContext);
-        futureReply.addNotifier(new IoFuture.Notifier<O>() {
-            public void notify(final IoFuture<O> future) {
-                executor.shutdown();
-            }
-        });
+        futureReply.addNotifier(IoUtils.<O>attachmentClosingNotifier(), executor);
         executor.runQueue();
         try {
             return futureReply.getInterruptibly();

Modified: remoting3/trunk/core/src/main/java/org/jboss/remoting/core/util/QueueExecutor.java
===================================================================
--- remoting3/trunk/core/src/main/java/org/jboss/remoting/core/util/QueueExecutor.java	2009-01-08 04:16:26 UTC (rev 4787)
+++ remoting3/trunk/core/src/main/java/org/jboss/remoting/core/util/QueueExecutor.java	2009-01-08 04:17:15 UTC (rev 4788)
@@ -2,8 +2,8 @@
 
 import java.util.LinkedList;
 import java.util.Queue;
-import java.util.concurrent.Executor;
 import org.jboss.xnio.log.Logger;
+import org.jboss.xnio.CloseableExecutor;
 
 /**
  * An executor designed to run all submitted tasks in the current thread.  The queue is run continuously
@@ -11,7 +11,7 @@
  * Only one thread should invoke the {@code runQueue()} method, which will run until the executor is
  * shut down.
  */
-public final class QueueExecutor implements Executor {
+public final class QueueExecutor implements CloseableExecutor {
     private static final Logger log = org.jboss.xnio.log.Logger.getLogger(QueueExecutor.class);
 
     private final Queue<Runnable> queue = new LinkedList<Runnable>();
@@ -88,7 +88,7 @@
         }
     }
 
-    public void shutdown() {
+    public void close() {
         synchronized(queue) {
             switch (state) {
                 case WAITING:

Modified: remoting3/trunk/protocol/multiplex/src/main/java/org/jboss/remoting/protocol/multiplex/MultiplexConnection.java
===================================================================
--- remoting3/trunk/protocol/multiplex/src/main/java/org/jboss/remoting/protocol/multiplex/MultiplexConnection.java	2009-01-08 04:16:26 UTC (rev 4787)
+++ remoting3/trunk/protocol/multiplex/src/main/java/org/jboss/remoting/protocol/multiplex/MultiplexConnection.java	2009-01-08 04:17:15 UTC (rev 4788)
@@ -26,7 +26,6 @@
 import org.jboss.marshalling.MarshallingConfiguration;
 import org.jboss.xnio.BufferAllocator;
 import org.jboss.xnio.IoUtils;
-import org.jboss.xnio.IoFuture;
 import org.jboss.xnio.Buffers;
 import org.jboss.xnio.log.Logger;
 import org.jboss.xnio.channels.AllocatedMessageChannel;
@@ -47,7 +46,6 @@
 import java.nio.ByteBuffer;
 import java.io.IOException;
 import java.io.InterruptedIOException;
-import java.io.Closeable;
 
 /**
  *
@@ -437,7 +435,7 @@
             IoUtils.safeClose(x);
         }
         for (FutureRemoteRequestHandlerSource future : remoteServices.getKeys()) {
-            future.addNotifier(MultiplexConnection.<RequestHandlerSource>closingNotifier());
+            future.addNotifier(IoUtils.<RequestHandlerSource>closingNotifier(), null);
         }
         // Things running locally
         for (RemoteRequestContext localRequest : localRequests.getKeys()) {
@@ -454,17 +452,4 @@
     public String toString() {
         return "multiplex connection <" + Integer.toHexString(hashCode()) + "> via " + channel;
     }
-
-    @SuppressWarnings({ "unchecked" })
-    private static <T extends Closeable> IoFuture.Notifier<T> closingNotifier() {
-        return (IoFuture.Notifier<T>) CLOSING_NOTIFIER;
-    }
-
-    private static final ClosingNotifier CLOSING_NOTIFIER = new ClosingNotifier();
-
-    private static class ClosingNotifier extends IoFuture.HandlingNotifier<Closeable> {
-        public void handleDone(final Closeable result) {
-            IoUtils.safeClose(result);
-        }
-    }
 }

Modified: remoting3/trunk/protocol/multiplex/src/main/java/org/jboss/remoting/protocol/multiplex/MultiplexReadHandler.java
===================================================================
--- remoting3/trunk/protocol/multiplex/src/main/java/org/jboss/remoting/protocol/multiplex/MultiplexReadHandler.java	2009-01-08 04:16:26 UTC (rev 4787)
+++ remoting3/trunk/protocol/multiplex/src/main/java/org/jboss/remoting/protocol/multiplex/MultiplexReadHandler.java	2009-01-08 04:17:15 UTC (rev 4788)
@@ -24,7 +24,6 @@
 
 import org.jboss.xnio.IoReadHandler;
 import org.jboss.xnio.IoUtils;
-import org.jboss.xnio.IoFuture;
 import org.jboss.xnio.Buffers;
 import org.jboss.xnio.log.Logger;
 import org.jboss.xnio.channels.AllocatedMessageChannel;
@@ -366,11 +365,7 @@
                     final int serviceId = buffer.getInt();
                     final FutureRemoteRequestHandlerSource future = connection.removeFutureRemoteService(serviceId);
                     log.trace("Received a service close notify message for service %d for %s", Integer.valueOf(serviceId), future);
-                    future.addNotifier(new IoFuture.HandlingNotifier<RequestHandlerSource>() {
-                        public void handleDone(final RequestHandlerSource result) {
-                            IoUtils.safeClose(result);
-                        }
-                    });
+                    future.addNotifier(IoUtils.<RequestHandlerSource>closingNotifier(), null);
                     break;
                 }
                 case SERVICE_CLOSE_REQUEST: {




More information about the jboss-remoting-commits mailing list