aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Harsh Vardhan <harshvd95@gmail.com>2017-03-03 14:19:32 +0530
committerGravatar Harsh Vardhan <harshvd95@gmail.com>2017-03-28 21:01:51 +0530
commit974f3d797a9220d8cc1792b1a8249cfe5ac75b8f (patch)
tree8c27f5f92c92b91b954a3976b005771ea2fc8164 /src
parentcacd5e84cd6d6d6c597e9f76dd10af4ed4ad4f0f (diff)
remove lang specific streaming methods
Diffstat (limited to 'src')
-rw-r--r--src/compiler/cpp_generator.cc66
-rw-r--r--src/compiler/protobuf_plugin.h12
-rw-r--r--src/compiler/python_generator.cc33
-rw-r--r--src/compiler/python_generator_helpers.h2
-rw-r--r--src/compiler/schema_interface.h2
5 files changed, 55 insertions, 60 deletions
diff --git a/src/compiler/cpp_generator.cc b/src/compiler/cpp_generator.cc
index 95c14e496f..c01e830cd6 100644
--- a/src/compiler/cpp_generator.cc
+++ b/src/compiler/cpp_generator.cc
@@ -50,6 +50,14 @@ grpc::string as_string(T x) {
return out.str();
}
+inline bool ClientOnlyStreaming(const grpc_generator::Method *method) {
+ return method->ClientStreaming() && !method->ServerStreaming();
+}
+
+inline bool ServerOnlyStreaming(const grpc_generator::Method *method) {
+ return !method->ClientStreaming() && method->ServerStreaming();
+}
+
grpc::string FilenameIdentifier(const grpc::string &filename) {
grpc::string result;
for (unsigned i = 0; i < filename.size(); i++) {
@@ -193,7 +201,7 @@ void PrintHeaderClientMethodInterfaces(
"Async$Method$Raw(context, request, cq));\n");
printer->Outdent();
printer->Print("}\n");
- } else if (method->ClientStreaming()) {
+ } else if (ClientOnlyStreaming(method)) {
printer->Print(
*vars,
"std::unique_ptr< ::grpc::ClientWriterInterface< $Request$>>"
@@ -219,7 +227,7 @@ void PrintHeaderClientMethodInterfaces(
"Async$Method$Raw(context, response, cq, tag));\n");
printer->Outdent();
printer->Print("}\n");
- } else if (method->ServerStreaming()) {
+ } else if (ServerOnlyStreaming(method)) {
printer->Print(
*vars,
"std::unique_ptr< ::grpc::ClientReaderInterface< $Response$>>"
@@ -281,7 +289,7 @@ void PrintHeaderClientMethodInterfaces(
"Async$Method$Raw(::grpc::ClientContext* context, "
"const $Request$& request, "
"::grpc::CompletionQueue* cq) = 0;\n");
- } else if (method->ClientStreaming()) {
+ } else if (ClientOnlyStreaming(method)) {
printer->Print(
*vars,
"virtual ::grpc::ClientWriterInterface< $Request$>*"
@@ -292,7 +300,7 @@ void PrintHeaderClientMethodInterfaces(
" Async$Method$Raw(::grpc::ClientContext* context, "
"$Response$* response, "
"::grpc::CompletionQueue* cq, void* tag) = 0;\n");
- } else if (method->ServerStreaming()) {
+ } else if (ServerOnlyStreaming(method)) {
printer->Print(
*vars,
"virtual ::grpc::ClientReaderInterface< $Response$>* $Method$Raw("
@@ -343,7 +351,7 @@ void PrintHeaderClientMethod(grpc_generator::Printer *printer,
"Async$Method$Raw(context, request, cq));\n");
printer->Outdent();
printer->Print("}\n");
- } else if (method->ClientStreaming()) {
+ } else if (ClientOnlyStreaming(method)) {
printer->Print(
*vars,
"std::unique_ptr< ::grpc::ClientWriter< $Request$>>"
@@ -367,7 +375,7 @@ void PrintHeaderClientMethod(grpc_generator::Printer *printer,
"Async$Method$Raw(context, response, cq, tag));\n");
printer->Outdent();
printer->Print("}\n");
- } else if (method->ServerStreaming()) {
+ } else if (ServerOnlyStreaming(method)) {
printer->Print(
*vars,
"std::unique_ptr< ::grpc::ClientReader< $Response$>>"
@@ -425,7 +433,7 @@ void PrintHeaderClientMethod(grpc_generator::Printer *printer,
"Async$Method$Raw(::grpc::ClientContext* context, "
"const $Request$& request, "
"::grpc::CompletionQueue* cq) override;\n");
- } else if (method->ClientStreaming()) {
+ } else if (ClientOnlyStreaming(method)) {
printer->Print(*vars,
"::grpc::ClientWriter< $Request$>* $Method$Raw("
"::grpc::ClientContext* context, $Response$* response) "
@@ -434,7 +442,7 @@ void PrintHeaderClientMethod(grpc_generator::Printer *printer,
"::grpc::ClientAsyncWriter< $Request$>* Async$Method$Raw("
"::grpc::ClientContext* context, $Response$* response, "
"::grpc::CompletionQueue* cq, void* tag) override;\n");
- } else if (method->ServerStreaming()) {
+ } else if (ServerOnlyStreaming(method)) {
printer->Print(*vars,
"::grpc::ClientReader< $Response$>* $Method$Raw("
"::grpc::ClientContext* context, const $Request$& request)"
@@ -475,13 +483,13 @@ void PrintHeaderServerMethodSync(grpc_generator::Printer *printer,
"virtual ::grpc::Status $Method$("
"::grpc::ServerContext* context, const $Request$* request, "
"$Response$* response);\n");
- } else if (method->ClientStreaming()) {
+ } else if (ClientOnlyStreaming(method)) {
printer->Print(*vars,
"virtual ::grpc::Status $Method$("
"::grpc::ServerContext* context, "
"::grpc::ServerReader< $Request$>* reader, "
"$Response$* response);\n");
- } else if (method->ServerStreaming()) {
+ } else if (ServerOnlyStreaming(method)) {
printer->Print(*vars,
"virtual ::grpc::Status $Method$("
"::grpc::ServerContext* context, const $Request$* request, "
@@ -540,7 +548,7 @@ void PrintHeaderServerMethodAsync(grpc_generator::Printer *printer,
" ::grpc::Service::RequestAsyncUnary($Idx$, context, "
"request, response, new_call_cq, notification_cq, tag);\n");
printer->Print("}\n");
- } else if (method->ClientStreaming()) {
+ } else if (ClientOnlyStreaming(method)) {
printer->Print(
*vars,
"// disable synchronous version of this method\n"
@@ -562,7 +570,7 @@ void PrintHeaderServerMethodAsync(grpc_generator::Printer *printer,
" ::grpc::Service::RequestAsyncClientStreaming($Idx$, "
"context, reader, new_call_cq, notification_cq, tag);\n");
printer->Print("}\n");
- } else if (method->ServerStreaming()) {
+ } else if (ServerOnlyStreaming(method)) {
printer->Print(
*vars,
"// disable synchronous version of this method\n"
@@ -669,7 +677,7 @@ void PrintHeaderServerMethodSplitStreaming(
(*vars)["Method"] = method->name();
(*vars)["Request"] = method->input_type_name();
(*vars)["Response"] = method->output_type_name();
- if (method->ServerStreaming()) {
+ if (ServerOnlyStreaming(method)) {
printer->Print(*vars, "template <class BaseClass>\n");
printer->Print(*vars,
"class WithSplitStreamingMethod_$Method$ : "
@@ -747,7 +755,7 @@ void PrintHeaderServerMethodGeneric(
" abort();\n"
" return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, \"\");\n"
"}\n");
- } else if (method->ClientStreaming()) {
+ } else if (ClientOnlyStreaming(method)) {
printer->Print(
*vars,
"// disable synchronous version of this method\n"
@@ -758,7 +766,7 @@ void PrintHeaderServerMethodGeneric(
" abort();\n"
" return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, \"\");\n"
"}\n");
- } else if (method->ServerStreaming()) {
+ } else if (ServerOnlyStreaming(method)) {
printer->Print(
*vars,
"// disable synchronous version of this method\n"
@@ -914,13 +922,15 @@ void PrintHeaderService(grpc_generator::Printer *printer,
printer->Print("typedef ");
for (int i = 0; i < service->method_count(); ++i) {
(*vars)["method_name"] = service->method(i).get()->name();
- if (service->method(i)->ServerStreaming()) {
+ auto method = service->method(i);
+ if (ServerOnlyStreaming(method.get())) {
printer->Print(*vars, "WithSplitStreamingMethod_$method_name$<");
}
}
printer->Print("Service");
for (int i = 0; i < service->method_count(); ++i) {
- if (service->method(i)->ServerStreaming()) {
+ auto method = service->method(i);
+ if (ServerOnlyStreaming(method.get())) {
printer->Print(" >");
}
}
@@ -930,7 +940,8 @@ void PrintHeaderService(grpc_generator::Printer *printer,
printer->Print("typedef ");
for (int i = 0; i < service->method_count(); ++i) {
(*vars)["method_name"] = service->method(i).get()->name();
- if (service->method(i)->ServerStreaming()) {
+ auto method = service->method(i);
+ if (ServerOnlyStreaming(method.get())) {
printer->Print(*vars, "WithSplitStreamingMethod_$method_name$<");
}
if (service->method(i)->NoStreaming()) {
@@ -939,8 +950,9 @@ void PrintHeaderService(grpc_generator::Printer *printer,
}
printer->Print("Service");
for (int i = 0; i < service->method_count(); ++i) {
+ auto method = service->method(i);
if (service->method(i)->NoStreaming() ||
- service->method(i)->ServerStreaming()) {
+ ServerOnlyStreaming(method.get())) {
printer->Print(" >");
}
}
@@ -1100,7 +1112,7 @@ void PrintSourceClientMethod(grpc_generator::Printer *printer,
"rpcmethod_$Method$_, "
"context, request);\n"
"}\n\n");
- } else if (method->ClientStreaming()) {
+ } else if (ClientOnlyStreaming(method)) {
printer->Print(*vars,
"::grpc::ClientWriter< $Request$>* "
"$ns$$Service$::Stub::$Method$Raw("
@@ -1122,7 +1134,7 @@ void PrintSourceClientMethod(grpc_generator::Printer *printer,
"rpcmethod_$Method$_, "
"context, response, tag);\n"
"}\n\n");
- } else if (method->ServerStreaming()) {
+ } else if (ServerOnlyStreaming(method)) {
printer->Print(
*vars,
"::grpc::ClientReader< $Response$>* "
@@ -1190,7 +1202,7 @@ void PrintSourceServerMethod(grpc_generator::Printer *printer,
" return ::grpc::Status("
"::grpc::StatusCode::UNIMPLEMENTED, \"\");\n");
printer->Print("}\n\n");
- } else if (method->ClientStreaming()) {
+ } else if (ClientOnlyStreaming(method)) {
printer->Print(*vars,
"::grpc::Status $ns$$Service$::Service::$Method$("
"::grpc::ServerContext* context, "
@@ -1203,7 +1215,7 @@ void PrintSourceServerMethod(grpc_generator::Printer *printer,
" return ::grpc::Status("
"::grpc::StatusCode::UNIMPLEMENTED, \"\");\n");
printer->Print("}\n\n");
- } else if (method->ServerStreaming()) {
+ } else if (ServerOnlyStreaming(method)) {
printer->Print(*vars,
"::grpc::Status $ns$$Service$::Service::$Method$("
"::grpc::ServerContext* context, "
@@ -1268,9 +1280,9 @@ void PrintSourceService(grpc_generator::Printer *printer,
// NOTE: There is no reason to consider streamed-unary as a separate
// category here since this part is setting up the client-side stub
// and this appears as a NORMAL_RPC from the client-side.
- } else if (method->ClientStreaming()) {
+ } else if (ClientOnlyStreaming(method.get())) {
(*vars)["StreamingType"] = "CLIENT_STREAMING";
- } else if (method->ServerStreaming()) {
+ } else if (ServerOnlyStreaming(method.get())) {
(*vars)["StreamingType"] = "SERVER_STREAMING";
} else {
(*vars)["StreamingType"] = "BIDI_STREAMING";
@@ -1308,7 +1320,7 @@ void PrintSourceService(grpc_generator::Printer *printer,
"$Request$, "
"$Response$>(\n"
" std::mem_fn(&$ns$$Service$::Service::$Method$), this)));\n");
- } else if (method->ClientStreaming()) {
+ } else if (ClientOnlyStreaming(method.get())) {
printer->Print(
*vars,
"AddMethod(new ::grpc::RpcServiceMethod(\n"
@@ -1317,7 +1329,7 @@ void PrintSourceService(grpc_generator::Printer *printer,
" new ::grpc::ClientStreamingHandler< "
"$ns$$Service$::Service, $Request$, $Response$>(\n"
" std::mem_fn(&$ns$$Service$::Service::$Method$), this)));\n");
- } else if (method->ServerStreaming()) {
+ } else if (ServerOnlyStreaming(method.get())) {
printer->Print(
*vars,
"AddMethod(new ::grpc::RpcServiceMethod(\n"
diff --git a/src/compiler/protobuf_plugin.h b/src/compiler/protobuf_plugin.h
index bb77063796..74546863fb 100644
--- a/src/compiler/protobuf_plugin.h
+++ b/src/compiler/protobuf_plugin.h
@@ -88,17 +88,9 @@ class ProtoBufMethod : public grpc_generator::Method {
return !method_->client_streaming() && !method_->server_streaming();
}
- bool ClientStreaming() const {
- 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 ClientStreaming() const { return method_->client_streaming(); }
- bool python_ServerStreaming() const { return method_->server_streaming(); }
+ bool ServerStreaming() const { return method_->server_streaming(); }
bool BidiStreaming() const {
return method_->client_streaming() && method_->server_streaming();
diff --git a/src/compiler/python_generator.cc b/src/compiler/python_generator.cc
index 523fe801d1..7720a40352 100644
--- a/src/compiler/python_generator.cc
+++ b/src/compiler/python_generator.cc
@@ -48,9 +48,9 @@
#include "src/compiler/config.h"
#include "src/compiler/generator_helpers.h"
#include "src/compiler/protobuf_plugin.h"
+#include "src/compiler/python_generator.h"
#include "src/compiler/python_generator_helpers.h"
#include "src/compiler/python_private_generator.h"
-#include "src/compiler/schema_interface.h"
using grpc::protobuf::FileDescriptor;
using grpc::protobuf::compiler::GeneratorContext;
@@ -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->python_ClientStreaming() ? "request_iterator" : "request";
+ method->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->python_ClientStreaming() ? "request_iterator" : "request";
+ method->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->python_ServerStreaming()) {
+ if (!method->ServerStreaming()) {
out->Print(method_dict, "$Method$.future = None\n");
}
}
@@ -215,10 +215,8 @@ 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->python_ClientStreaming() ? "stream_"
- : "unary_") +
- grpc::string(method->python_ServerStreaming() ? "stream_"
- : "unary_") +
+ grpc::string(method->ClientStreaming() ? "stream_" : "unary_") +
+ grpc::string(method->ServerStreaming() ? "stream_" : "unary_") +
"inline";
grpc::string input_message_module_and_class;
if (!method->get_module_and_message_path_input(
@@ -324,9 +322,8 @@ 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->python_ClientStreaming() ? "STREAM" : "UNARY") +
- "_" +
- grpc::string(method->python_ServerStreaming() ? "STREAM" : "UNARY");
+ grpc::string(method->ClientStreaming() ? "STREAM" : "UNARY") + "_" +
+ grpc::string(method->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,
@@ -430,10 +427,8 @@ 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->python_ClientStreaming() ? "stream"
- : "unary") +
- "_" +
- grpc::string(method->python_ServerStreaming() ? "stream" : "unary");
+ grpc::string(method->ClientStreaming() ? "stream" : "unary") + "_" +
+ grpc::string(method->ServerStreaming() ? "stream" : "unary");
grpc::string request_module_and_class;
if (!method->get_module_and_message_path_input(
&request_module_and_class, generator_file_name,
@@ -486,7 +481,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->python_ClientStreaming() ? "request_iterator" : "request";
+ method->ClientStreaming() ? "request_iterator" : "request";
StringMap method_dict;
method_dict["Method"] = method->name();
method_dict["ArgName"] = arg_name;
@@ -522,10 +517,8 @@ 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->python_ClientStreaming() ? "stream"
- : "unary") +
- "_" + grpc::string(method->python_ServerStreaming() ? "stream"
- : "unary") +
+ grpc::string(method->ClientStreaming() ? "stream" : "unary") + "_" +
+ grpc::string(method->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/python_generator_helpers.h b/src/compiler/python_generator_helpers.h
index c862346619..2cb9ddf96b 100644
--- a/src/compiler/python_generator_helpers.h
+++ b/src/compiler/python_generator_helpers.h
@@ -136,4 +136,4 @@ StringVector get_all_comments(const DescriptorType* descriptor) {
} // namespace grpc_python_generator
-#endif // GRPC_INTERNAL_COMPILER_PYTHON_GENERATOR_HELPERS_H \ No newline at end of file
+#endif // GRPC_INTERNAL_COMPILER_PYTHON_GENERATOR_HELPERS_H
diff --git a/src/compiler/schema_interface.h b/src/compiler/schema_interface.h
index 88de1ecdf7..41e9322a0d 100644
--- a/src/compiler/schema_interface.h
+++ b/src/compiler/schema_interface.h
@@ -81,9 +81,7 @@ 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;
};