You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by hc...@apache.org on 2014/11/07 18:57:15 UTC

thrift git commit: THRIFT-2804: java - TAsyncProcessor interface extracted from TBaseAsyncProcessor

Repository: thrift
Updated Branches:
  refs/heads/master a4b72eed2 -> fed887f9d


THRIFT-2804: java - TAsyncProcessor interface extracted from TBaseAsyncProcessor

Client: Java
Patch: Michael Donaghy

This closes #253


Project: http://git-wip-us.apache.org/repos/asf/thrift/repo
Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/fed887f9
Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/fed887f9
Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/fed887f9

Branch: refs/heads/master
Commit: fed887f9d9f563c123acafec9a0335e325e74a51
Parents: a4b72ee
Author: Konrad Grochowski <hc...@apache.org>
Authored: Fri Nov 7 10:19:26 2014 +0000
Committer: Konrad Grochowski <hc...@apache.org>
Committed: Fri Nov 7 18:28:00 2014 +0100

----------------------------------------------------------------------
 .../src/org/apache/thrift/TAsyncProcessor.java  | 35 ++++++++++++++++++++
 .../org/apache/thrift/TBaseAsyncProcessor.java  |  2 +-
 .../org/apache/thrift/TProcessorFactory.java    |  2 +-
 .../server/AbstractNonblockingServer.java       |  4 +--
 4 files changed, 39 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/thrift/blob/fed887f9/lib/java/src/org/apache/thrift/TAsyncProcessor.java
----------------------------------------------------------------------
diff --git a/lib/java/src/org/apache/thrift/TAsyncProcessor.java b/lib/java/src/org/apache/thrift/TAsyncProcessor.java
new file mode 100644
index 0000000..0a069ea
--- /dev/null
+++ b/lib/java/src/org/apache/thrift/TAsyncProcessor.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.thrift;
+
+import org.apache.thrift.protocol.*;
+
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Collections;
+import java.util.Map;
+
+public interface TAsyncProcessor {
+    /**
+     * Implementations must call fb.responseReady() once processing is complete
+     */
+    public boolean process(final AsyncFrameBuffer fb) throws TException;
+}

http://git-wip-us.apache.org/repos/asf/thrift/blob/fed887f9/lib/java/src/org/apache/thrift/TBaseAsyncProcessor.java
----------------------------------------------------------------------
diff --git a/lib/java/src/org/apache/thrift/TBaseAsyncProcessor.java b/lib/java/src/org/apache/thrift/TBaseAsyncProcessor.java
index da41620..ed6c323 100644
--- a/lib/java/src/org/apache/thrift/TBaseAsyncProcessor.java
+++ b/lib/java/src/org/apache/thrift/TBaseAsyncProcessor.java
@@ -27,7 +27,7 @@ import org.slf4j.LoggerFactory;
 import java.util.Collections;
 import java.util.Map;
 
-public class TBaseAsyncProcessor<I> implements TProcessor {
+public class TBaseAsyncProcessor<I> implements TAsyncProcessor, TProcessor {
     protected final Logger LOGGER = LoggerFactory.getLogger(getClass().getName());
 
     final I iface;

http://git-wip-us.apache.org/repos/asf/thrift/blob/fed887f9/lib/java/src/org/apache/thrift/TProcessorFactory.java
----------------------------------------------------------------------
diff --git a/lib/java/src/org/apache/thrift/TProcessorFactory.java b/lib/java/src/org/apache/thrift/TProcessorFactory.java
index f6dfb14..81933a2 100644
--- a/lib/java/src/org/apache/thrift/TProcessorFactory.java
+++ b/lib/java/src/org/apache/thrift/TProcessorFactory.java
@@ -38,6 +38,6 @@ public class TProcessorFactory {
   }
 
   public boolean isAsyncProcessor() {
-      return processor_ instanceof TBaseAsyncProcessor;
+      return processor_ instanceof TAsyncProcessor;
   }
 }

http://git-wip-us.apache.org/repos/asf/thrift/blob/fed887f9/lib/java/src/org/apache/thrift/server/AbstractNonblockingServer.java
----------------------------------------------------------------------
diff --git a/lib/java/src/org/apache/thrift/server/AbstractNonblockingServer.java b/lib/java/src/org/apache/thrift/server/AbstractNonblockingServer.java
index fd49d48..0c492cc 100644
--- a/lib/java/src/org/apache/thrift/server/AbstractNonblockingServer.java
+++ b/lib/java/src/org/apache/thrift/server/AbstractNonblockingServer.java
@@ -28,7 +28,7 @@ import java.util.HashSet;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicLong;
 
-import org.apache.thrift.TBaseAsyncProcessor;
+import org.apache.thrift.TAsyncProcessor;
 import org.apache.thrift.TByteArrayOutputStream;
 import org.apache.thrift.TException;
 import org.apache.thrift.protocol.TProtocol;
@@ -597,7 +597,7 @@ public abstract class AbstractNonblockingServer extends TServer {
         if (eventHandler_ != null) {
           eventHandler_.processContext(context_, inTrans_, outTrans_);
         }
-        ((TBaseAsyncProcessor)processorFactory_.getProcessor(inTrans_)).process(this);
+        ((TAsyncProcessor)processorFactory_.getProcessor(inTrans_)).process(this);
         return;
       } catch (TException te) {
         LOGGER.warn("Exception while invoking!", te);