You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by ro...@apache.org on 2014/07/30 01:12:54 UTC

git commit: Revert "THRIFT-585 exceptions in the autogenerated send_METHOD functions are not propagated"

Repository: thrift
Updated Branches:
  refs/heads/master 2814c2e72 -> 8033e7e79


Revert "THRIFT-585 exceptions in the autogenerated send_METHOD functions are not propagated"

This reverts commit 8345772f299a308496ebaae6516f3f813469f829.


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

Branch: refs/heads/master
Commit: 8033e7e794e8b6304b91f0c3a8f7e30343444fd6
Parents: 2814c2e
Author: Roger Meier <ro...@apache.org>
Authored: Wed Jul 30 01:01:50 2014 +0200
Committer: Roger Meier <ro...@apache.org>
Committed: Wed Jul 30 01:01:50 2014 +0200

----------------------------------------------------------------------
 compiler/cpp/src/generate/t_py_generator.cc | 59 +++++-------------------
 lib/py/src/transport/TTwisted.py            |  4 +-
 2 files changed, 14 insertions(+), 49 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/thrift/blob/8033e7e7/compiler/cpp/src/generate/t_py_generator.cc
----------------------------------------------------------------------
diff --git a/compiler/cpp/src/generate/t_py_generator.cc b/compiler/cpp/src/generate/t_py_generator.cc
index 25ee45f..5d23366 100644
--- a/compiler/cpp/src/generate/t_py_generator.cc
+++ b/compiler/cpp/src/generate/t_py_generator.cc
@@ -1279,23 +1279,19 @@ void t_py_generator::generate_service_client(t_service* tservice) {
       indent(f_service_) << "self._seqid += 1" << endl;
       if (!(*f_iter)->is_oneway()) {
         indent(f_service_) <<
-          "self._reqs[self._seqid] = defer.Deferred()" << endl;
-        indent(f_service_) <<
-          "d = defer.maybeDeferred(self.send_" << funname << ",";
+          "d = self._reqs[self._seqid] = defer.Deferred()" << endl;
       }
     } else if (gen_tornado_) {
       indent(f_service_) << "self._seqid += 1" << endl;
       if (!(*f_iter)->is_oneway()) {
         indent(f_service_) <<
           "self._reqs[self._seqid] = callback" << endl;
-        indent(f_service_) <<
-          "self.send_" << funname << "(";
       }
-    } else {
-      indent(f_service_) <<
-        "self.send_" << funname << "(";
     }
 
+    indent(f_service_) <<
+      "self.send_" << funname << "(";
+
     bool first = true;
     for (fld_iter = fields.begin(); fld_iter != fields.end(); ++fld_iter) {
       if (first) {
@@ -1318,57 +1314,26 @@ void t_py_generator::generate_service_client(t_service* tservice) {
     f_service_ << ")" << endl;
 
     if (!(*f_iter)->is_oneway()) {
-
+      f_service_ << indent();
       if (gen_twisted_) {
-        indent(f_service_) << "d.addCallbacks(self.cb_send_" << funname << "," << endl <<
-          indent() << indent() << "errback=self.eb_send_" << funname << "," << endl <<
-          indent() << indent() << "callbackArgs=(self._seqid,)," << endl <<
-          indent() << indent() << "errbackArgs=(self._seqid,))" << endl;
-        indent(f_service_) << "return d" << endl;
-
+        f_service_ << "return d" << endl;
       } else if (gen_tornado_) {
-        f_service_ << indent();
         f_service_ << "self.recv_dispatch()" << endl;
       } else {
-        f_service_ << indent();
         if (!(*f_iter)->get_returntype()->is_void()) {
           f_service_ << "return ";
         }
         f_service_ <<
           "self.recv_" << funname << "()" << endl;
       }
-    }
-
-    indent_down();
-    f_service_ << endl;
-
-    if (gen_twisted_) {
-      indent(f_service_) <<
-        "def cb_send_" << funname << "(self, _, seqid):" << endl;
-      indent_up();
-      if ((*f_iter)->is_oneway()) {
-        f_service_ <<
-          indent() << "d = self._reqs.pop(seqid)" << endl <<
-          indent() << "d.callback(None)" << endl;
-      } else {
+    } else {
+      if (gen_twisted_) {
         f_service_ <<
-          indent() << "d = self._reqs[seqid]" << endl;
+          indent() << "return defer.succeed(None)" << endl;
       }
-      f_service_ << indent() << "return d" << endl;
-      indent_down();
-
-      f_service_ << endl;
-
-      indent(f_service_) <<
-        "def eb_send_" << funname << "(self, e, seqid):" << endl;
-      indent_up();
-      f_service_ <<
-        indent() << "d = self._reqs.pop(seqid)" << endl <<
-        indent() << "d.errback(e)" << endl <<
-        indent() << "return d" << endl;
-      indent_down();
-      f_service_ << endl;
     }
+    indent_down();
+    f_service_ << endl;
 
     indent(f_service_) <<
       "def send_" << function_signature(*f_iter, false, MANDATORY_FOR_ONEWAY_ELSE_NONE) << ":" << endl;
@@ -1402,7 +1367,7 @@ void t_py_generator::generate_service_client(t_service* tservice) {
       f_service_ <<
         indent() << "args.write(oprot)" << endl <<
         indent() << "oprot.writeMessageEnd()" << endl <<
-        indent() << "return oprot.trans.flush()" << endl;
+        indent() << "oprot.trans.flush()" << endl;
     } else if (gen_tornado_) {
       f_service_ <<
         indent() << "args.write(oprot)" << endl <<

http://git-wip-us.apache.org/repos/asf/thrift/blob/8033e7e7/lib/py/src/transport/TTwisted.py
----------------------------------------------------------------------
diff --git a/lib/py/src/transport/TTwisted.py b/lib/py/src/transport/TTwisted.py
index 0e03f08..2b77414 100644
--- a/lib/py/src/transport/TTwisted.py
+++ b/lib/py/src/transport/TTwisted.py
@@ -42,7 +42,7 @@ class TMessageSenderTransport(TTransport.TTransportBase):
     def flush(self):
         msg = self.__wbuf.getvalue()
         self.__wbuf = StringIO()
-        return defer.maybeDeferred(self.sendMessage, msg)
+        self.sendMessage(msg)
 
     def sendMessage(self, message):
         raise NotImplementedError
@@ -55,7 +55,7 @@ class TCallbackTransport(TMessageSenderTransport):
         self.func = func
 
     def sendMessage(self, message):
-        return self.func(message)
+        self.func(message)
 
 
 class ThriftClientProtocol(basic.Int32StringReceiver):