summaryrefslogtreecommitdiff
path: root/lib/java/src/org/apache
diff options
context:
space:
mode:
authorKonrad Grochowski <hcorg@apache.org>2014-11-07 10:19:26 +0000
committerKonrad Grochowski <hcorg@apache.org>2014-11-07 18:28:00 +0100
commitfed887f9d9f563c123acafec9a0335e325e74a51 (patch)
tree40a739ea66571046e42c5de7ac74ac97bfa24731 /lib/java/src/org/apache
parenta4b72eed2cd0ef4839874a69f76021c0267289f3 (diff)
downloadthrift-fed887f9d9f563c123acafec9a0335e325e74a51.tar.gz
THRIFT-2804: java - TAsyncProcessor interface extracted from TBaseAsyncProcessor
Client: Java Patch: Michael Donaghy This closes #253
Diffstat (limited to 'lib/java/src/org/apache')
-rw-r--r--lib/java/src/org/apache/thrift/TAsyncProcessor.java35
-rw-r--r--lib/java/src/org/apache/thrift/TBaseAsyncProcessor.java2
-rw-r--r--lib/java/src/org/apache/thrift/TProcessorFactory.java2
-rw-r--r--lib/java/src/org/apache/thrift/server/AbstractNonblockingServer.java4
4 files changed, 39 insertions, 4 deletions
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 000000000..0a069ea00
--- /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;
+}
diff --git a/lib/java/src/org/apache/thrift/TBaseAsyncProcessor.java b/lib/java/src/org/apache/thrift/TBaseAsyncProcessor.java
index da41620f3..ed6c32345 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;
diff --git a/lib/java/src/org/apache/thrift/TProcessorFactory.java b/lib/java/src/org/apache/thrift/TProcessorFactory.java
index f6dfb14ea..81933a211 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;
}
}
diff --git a/lib/java/src/org/apache/thrift/server/AbstractNonblockingServer.java b/lib/java/src/org/apache/thrift/server/AbstractNonblockingServer.java
index fd49d48db..0c492cc0a 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);