thrift-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dre...@apache.org
Subject svn commit: r666382 - /incubator/thrift/trunk/lib/alterl/src/thrift_processor.erl
Date Tue, 10 Jun 2008 22:58:14 GMT
Author: dreiss
Date: Tue Jun 10 15:58:14 2008
New Revision: 666382

URL: http://svn.apache.org/viewvc?rev=666382&view=rev
Log:
Fix responses for void functions

Modified:
    incubator/thrift/trunk/lib/alterl/src/thrift_processor.erl

Modified: incubator/thrift/trunk/lib/alterl/src/thrift_processor.erl
URL: http://svn.apache.org/viewvc/incubator/thrift/trunk/lib/alterl/src/thrift_processor.erl?rev=666382&r1=666381&r2=666382&view=diff
==============================================================================
--- incubator/thrift/trunk/lib/alterl/src/thrift_processor.erl (original)
+++ incubator/thrift/trunk/lib/alterl/src/thrift_processor.erl Tue Jun 10 15:58:14 2008
@@ -51,15 +51,24 @@
                           [Function, Params, Micro/1000.0]),
     
     ReplyType = Service:function_info(Function, reply_type),
+    StructName = atom_to_list(Function) ++ "_result",
     
     case Result of
-        {reply, Reply} -> 
-            StructName = atom_to_list(Function) ++ "_result",
-            thrift_protocol:write(OProto, #protocol_message_begin{
-                            name = StructName,
-                            type = ?tMessageType_REPLY,
-                            seqid = 0}),
-            thrift_protocol:write(OProto, {{struct, [{0, ReplyType}]}, {StructName, Reply}}),
-            thrift_protocol:write(OProto, message_end)
+        {reply, ReplyData} -> 
+            Reply = {{struct, [{0, ReplyType}]}, {StructName, ReplyData}},
+            ok = send_reply(OProto, Function, Reply);
+
+        ok when ReplyType == {struct, []} ->
+            ok = send_reply(OProto, Function, {ReplyType, {StructName}})
     end,
     ok.
+
+
+send_reply(OProto, Function, Reply) ->
+    ok = thrift_protocol:write(OProto, #protocol_message_begin{
+                                 name = atom_to_list(Function),
+                                 type = ?tMessageType_REPLY,
+                                 seqid = 0}),
+    ok = thrift_protocol:write(OProto, Reply),
+    ok = thrift_protocol:write(OProto, message_end),
+    ok.



Mime
View raw message