From cacd5e84cd6d6d6c597e9f76dd10af4ed4ad4f0f Mon Sep 17 00:00:00 2001 From: Harsh Vardhan <harshvd95@gmail.com> Date: Sun, 26 Feb 2017 21:18:36 +0530 Subject: [PATCH] revert to python specific code --- src/compiler/protobuf_plugin.h | 6 +++++- src/compiler/python_generator.cc | 31 +++++++++++++++++++------------ src/compiler/schema_interface.h | 2 ++ 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/compiler/protobuf_plugin.h b/src/compiler/protobuf_plugin.h index 789e4cd834..bb77063796 100644 --- a/src/compiler/protobuf_plugin.h +++ b/src/compiler/protobuf_plugin.h @@ -92,10 +92,14 @@ class ProtoBufMethod : public grpc_generator::Method { return method_->client_streaming() && !method_->server_streaming(); } + bool python_ClientStreaming() const { return method_->client_streaming(); } + bool ServerStreaming() const { return !method_->client_streaming() && method_->server_streaming(); } + bool python_ServerStreaming() const { return method_->server_streaming(); } + bool BidiStreaming() const { return method_->client_streaming() && method_->server_streaming(); } @@ -207,4 +211,4 @@ class ProtoBufFile : public grpc_generator::File { const grpc::protobuf::FileDescriptor *file_; }; -#endif // GRPC_INTERNAL_COMPILER_PROTOBUF_PLUGIN_H \ No newline at end of file +#endif // GRPC_INTERNAL_COMPILER_PROTOBUF_PLUGIN_H diff --git a/src/compiler/python_generator.cc b/src/compiler/python_generator.cc index 5d54d21ffe..523fe801d1 100644 --- a/src/compiler/python_generator.cc +++ b/src/compiler/python_generator.cc @@ -135,7 +135,7 @@ bool PrivateGenerator::PrintBetaServicer(const grpc_generator::Service* service, for (int i = 0; i < service->method_count(); ++i) { auto method = service->method(i); grpc::string arg_name = - method->ClientStreaming() ? "request_iterator" : "request"; + method->python_ClientStreaming() ? "request_iterator" : "request"; StringMap method_dict; method_dict["Method"] = method->name(); method_dict["ArgName"] = arg_name; @@ -171,7 +171,7 @@ bool PrivateGenerator::PrintBetaStub(const grpc_generator::Service* service, for (int i = 0; i < service->method_count(); ++i) { auto method = service->method(i); grpc::string arg_name = - method->ClientStreaming() ? "request_iterator" : "request"; + method->python_ClientStreaming() ? "request_iterator" : "request"; StringMap method_dict; method_dict["Method"] = method->name(); method_dict["ArgName"] = arg_name; @@ -184,7 +184,7 @@ bool PrivateGenerator::PrintBetaStub(const grpc_generator::Service* service, PrintAllComments(method_comments, out); out->Print("raise NotImplementedError()\n"); } - if (!method->ServerStreaming()) { + if (!method->python_ServerStreaming()) { out->Print(method_dict, "$Method$.future = None\n"); } } @@ -215,8 +215,10 @@ bool PrivateGenerator::PrintBetaServerFactory( for (int i = 0; i < service->method_count(); ++i) { auto method = service->method(i); const grpc::string method_implementation_constructor = - grpc::string(method->ClientStreaming() ? "stream_" : "unary_") + - grpc::string(method->ServerStreaming() ? "stream_" : "unary_") + + grpc::string(method->python_ClientStreaming() ? "stream_" + : "unary_") + + grpc::string(method->python_ServerStreaming() ? "stream_" + : "unary_") + "inline"; grpc::string input_message_module_and_class; if (!method->get_module_and_message_path_input( @@ -322,8 +324,9 @@ bool PrivateGenerator::PrintBetaStubFactory( for (int i = 0; i < service->method_count(); ++i) { auto method = service->method(i); const grpc::string method_cardinality = - grpc::string(method->ClientStreaming() ? "STREAM" : "UNARY") + "_" + - grpc::string(method->ServerStreaming() ? "STREAM" : "UNARY"); + grpc::string(method->python_ClientStreaming() ? "STREAM" : "UNARY") + + "_" + + grpc::string(method->python_ServerStreaming() ? "STREAM" : "UNARY"); grpc::string input_message_module_and_class; if (!method->get_module_and_message_path_input( &input_message_module_and_class, generator_file_name, @@ -427,8 +430,10 @@ bool PrivateGenerator::PrintStub( for (int i = 0; i < service->method_count(); ++i) { auto method = service->method(i); grpc::string multi_callable_constructor = - grpc::string(method->ClientStreaming() ? "stream" : "unary") + "_" + - grpc::string(method->ServerStreaming() ? "stream" : "unary"); + grpc::string(method->python_ClientStreaming() ? "stream" + : "unary") + + "_" + + grpc::string(method->python_ServerStreaming() ? "stream" : "unary"); grpc::string request_module_and_class; if (!method->get_module_and_message_path_input( &request_module_and_class, generator_file_name, @@ -481,7 +486,7 @@ bool PrivateGenerator::PrintServicer(const grpc_generator::Service* service, for (int i = 0; i < service->method_count(); ++i) { auto method = service->method(i); grpc::string arg_name = - method->ClientStreaming() ? "request_iterator" : "request"; + method->python_ClientStreaming() ? "request_iterator" : "request"; StringMap method_dict; method_dict["Method"] = method->name(); method_dict["ArgName"] = arg_name; @@ -517,8 +522,10 @@ bool PrivateGenerator::PrintAddServicerToServer( for (int i = 0; i < service->method_count(); ++i) { auto method = service->method(i); grpc::string method_handler_constructor = - grpc::string(method->ClientStreaming() ? "stream" : "unary") + "_" + - grpc::string(method->ServerStreaming() ? "stream" : "unary") + + grpc::string(method->python_ClientStreaming() ? "stream" + : "unary") + + "_" + grpc::string(method->python_ServerStreaming() ? "stream" + : "unary") + "_rpc_method_handler"; grpc::string request_module_and_class; if (!method->get_module_and_message_path_input( diff --git a/src/compiler/schema_interface.h b/src/compiler/schema_interface.h index 41e9322a0d..88de1ecdf7 100644 --- a/src/compiler/schema_interface.h +++ b/src/compiler/schema_interface.h @@ -81,7 +81,9 @@ struct Method : public CommentHolder { virtual grpc::string get_output_type_name() const = 0; virtual bool NoStreaming() const = 0; virtual bool ClientStreaming() const = 0; + virtual bool python_ClientStreaming() const = 0; virtual bool ServerStreaming() const = 0; + virtual bool python_ServerStreaming() const = 0; virtual bool BidiStreaming() const = 0; }; -- GitLab