summaryrefslogtreecommitdiff
path: root/compiler/cpp/src/thrift/generate/t_rb_generator.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/cpp/src/thrift/generate/t_rb_generator.cc')
-rw-r--r--compiler/cpp/src/thrift/generate/t_rb_generator.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/cpp/src/thrift/generate/t_rb_generator.cc b/compiler/cpp/src/thrift/generate/t_rb_generator.cc
index 90dbfe5d7..17e57cf95 100644
--- a/compiler/cpp/src/thrift/generate/t_rb_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_rb_generator.cc
@@ -944,7 +944,12 @@ void t_rb_generator::generate_service_client(t_service* tservice) {
f_service_.indent() << "def " << function_signature(&recv_function) << endl;
f_service_.indent_up();
- // TODO(mcslee): Validate message reply here, seq ids etc.
+ f_service_.indent() << "fname, mtype, rseqid = receive_message_begin()" << endl;
+ f_service_.indent() << "handle_exception(mtype)" << endl;
+
+ f_service_.indent() << "if reply_seqid(rseqid)==false" << endl;
+ f_service_.indent() << " raise \"seqid reply faild\"" << endl;
+ f_service_.indent() << "end" << endl;
f_service_.indent() << "result = receive_message(" << resultname << ")" << endl;