From 9efc083006c1bcfd35bc36126ea86baabaf26d07 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Fri, 10 Apr 2015 00:15:08 +0200 Subject: [PATCH 1/2] Updating examples to reflect the new state of things. --- cpp/helloworld/Makefile | 7 +++++-- cpp/helloworld/greeter_client.cc | 2 +- cpp/helloworld/greeter_server.cc | 2 +- cpp/route_guide/Makefile | 9 ++++++--- cpp/route_guide/helper.cc | 2 +- cpp/route_guide/route_guide_client.cc | 2 +- cpp/route_guide/route_guide_server.cc | 2 +- 7 files changed, 16 insertions(+), 10 deletions(-) diff --git a/cpp/helloworld/Makefile b/cpp/helloworld/Makefile index bfa9c08..3812689 100644 --- a/cpp/helloworld/Makefile +++ b/cpp/helloworld/Makefile @@ -43,14 +43,17 @@ vpath %.proto $(PROTOS_PATH) all: system-check greeter_client greeter_server -greeter_client: helloworld.pb.o greeter_client.o +greeter_client: helloworld.grpc.pb.o helloworld.pb.o greeter_client.o $(CXX) $^ $(LDFLAGS) -o $@ greeter_server: helloworld.pb.o greeter_server.o $(CXX) $^ $(LDFLAGS) -o $@ +%.grpc.pb.cc: %.proto + $(PROTOC) -I $(PROTOS_PATH) --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $< + %.pb.cc: %.proto - $(PROTOC) -I $(PROTOS_PATH) --cpp_out=. --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $< + $(PROTOC) -I $(PROTOS_PATH) --cpp_out=. $< clean: rm -f *.o *.pb.cc *.pb.h greeter_client greeter_server diff --git a/cpp/helloworld/greeter_client.cc b/cpp/helloworld/greeter_client.cc index 0cec4a3..4776cf9 100644 --- a/cpp/helloworld/greeter_client.cc +++ b/cpp/helloworld/greeter_client.cc @@ -42,7 +42,7 @@ #include #include #include -#include "helloworld.pb.h" +#include "helloworld.grpc.pb.h" using grpc::ChannelArguments; using grpc::ChannelInterface; diff --git a/cpp/helloworld/greeter_server.cc b/cpp/helloworld/greeter_server.cc index e7f355f..a090075 100644 --- a/cpp/helloworld/greeter_server.cc +++ b/cpp/helloworld/greeter_server.cc @@ -41,7 +41,7 @@ #include #include #include -#include "helloworld.pb.h" +#include "helloworld.grpc.pb.h" using grpc::Server; using grpc::ServerBuilder; diff --git a/cpp/route_guide/Makefile b/cpp/route_guide/Makefile index ac0b034..85d7290 100644 --- a/cpp/route_guide/Makefile +++ b/cpp/route_guide/Makefile @@ -43,14 +43,17 @@ vpath %.proto $(PROTOS_PATH) all: system-check route_guide_client route_guide_server -route_guide_client: route_guide.pb.o route_guide_client.o helper.o +route_guide_client: route_guide.grpc.pb.o route_guide.pb.o route_guide_client.o helper.o $(CXX) $^ $(LDFLAGS) -o $@ -route_guide_server: route_guide.pb.o route_guide_server.o helper.o +route_guide_server: route_guide.grpc.pb.o route_guide.pb.o route_guide_server.o helper.o $(CXX) $^ $(LDFLAGS) -o $@ +%.grpc.pb.cc: %.proto + $(PROTOC) -I $(PROTOS_PATH) --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $< + %.pb.cc: %.proto - $(PROTOC) -I $(PROTOS_PATH) --cpp_out=. --grpc_out=. --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN_PATH) $< + $(PROTOC) -I $(PROTOS_PATH) --cpp_out=. $< clean: rm -f *.o *.pb.cc *.pb.h route_guide_client route_guide_server diff --git a/cpp/route_guide/helper.cc b/cpp/route_guide/helper.cc index d147846..c2415af 100644 --- a/cpp/route_guide/helper.cc +++ b/cpp/route_guide/helper.cc @@ -38,7 +38,7 @@ #include #include #include -#include "route_guide.pb.h" +#include "route_guide.grpc.pb.h" namespace examples { diff --git a/cpp/route_guide/route_guide_client.cc b/cpp/route_guide/route_guide_client.cc index d2f7673..e70207b 100644 --- a/cpp/route_guide/route_guide_client.cc +++ b/cpp/route_guide/route_guide_client.cc @@ -47,7 +47,7 @@ #include #include #include "helper.h" -#include "route_guide.pb.h" +#include "route_guide.grpc.pb.h" using grpc::ChannelArguments; using grpc::ChannelInterface; diff --git a/cpp/route_guide/route_guide_server.cc b/cpp/route_guide/route_guide_server.cc index edef048..afa3fea 100644 --- a/cpp/route_guide/route_guide_server.cc +++ b/cpp/route_guide/route_guide_server.cc @@ -46,7 +46,7 @@ #include #include #include "helper.h" -#include "route_guide.pb.h" +#include "route_guide.grpc.pb.h" using grpc::Server; using grpc::ServerBuilder; From b6413de273816ccbce20d318a2481f456f667fb5 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Fri, 10 Apr 2015 00:24:09 +0200 Subject: [PATCH 2/2] Updating documentation. --- cpp/README.md | 5 +++-- cpp/cpptutorial.md | 11 +++++++---- cpp/helloworld/README.md | 5 +++-- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/cpp/README.md b/cpp/README.md index e9e9962..e0a09ff 100644 --- a/cpp/README.md +++ b/cpp/README.md @@ -30,12 +30,13 @@ $ cd grpc-common/cpp/helloworld/ To generate the client and server side interfaces: ```sh -$ make helloworld.pb.cc +$ make helloworld.grpc.pb.cc helloworld.pb.cc ``` Which internally invokes the proto-compiler as: ```sh -$ protoc -I ../../protos/ --cpp_out=. --grpc_out=. --plugin=protoc-gen-grpc=grpc_cpp_plugin ../../protos/helloworld.proto +$ protoc -I ../../protos/ --grpc_out=. --plugin=protoc-gen-grpc=grpc_cpp_plugin ../../protos/helloworld.proto +$ protoc -I ../../protos/ --cpp_out=. ../../protos/helloworld.proto ``` ### Client and server implementations diff --git a/cpp/cpptutorial.md b/cpp/cpptutorial.md index ebad7b1..9d49405 100644 --- a/cpp/cpptutorial.md +++ b/cpp/cpptutorial.md @@ -94,18 +94,21 @@ Next we need to generate the gRPC client and server interfaces from our .proto s For simplicity, we've provided a [makefile](https://github.com/grpc/grpc-common/blob/master/cpp/route_guide/Makefile) that runs `protoc` for you with the appropriate plugin, input, and output (if you want to run this yourself, make sure you've installed protoc and followed the gRPC code [installation instructions](https://github.com/grpc/grpc/blob/master/INSTALL) first): ```shell -$ make route_guide.pb.cc +$ make route_guide.grpc.pb.cc route_guide.pb.cc ``` which actually runs: ```shell -$ protoc -I ../../protos --cpp_out=. --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` ../../protos/route_guide.proto +$ protoc -I ../../protos --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` ../../protos/route_guide.proto +$ protoc -I ../../protos --cpp_out=. ../../protos/route_guide.proto ``` Running this command generates the following files in your current directory: -- `route_guide.pb.h`, the header which declares your generated classes -- `route_guide.pb.cc`, which contains the implementation of your classes +- `route_guide.pb.h`, the header which declares your generated message classes +- `route_guide.pb.cc`, which contains the implementation of your message classes +- `route_guide.grpc.pb.h`, the header which declares your generated service classes +- `route_guide.grpc.pb.cc`, which contains the implementation of your service classes These contain: - All the protocol buffer code to populate, serialize, and retrieve our request and response message types diff --git a/cpp/helloworld/README.md b/cpp/helloworld/README.md index 16456a8..bc7df3f 100644 --- a/cpp/helloworld/README.md +++ b/cpp/helloworld/README.md @@ -78,12 +78,13 @@ defined in our `Greeting` service. To generate the client and server side interfaces: ```sh -$ make helloworld.pb.cc +$ make helloworld.grpc.pb.cc helloworld.pb.cc ``` Which internally invokes the proto-compiler as: ```sh -$protoc -I ../../protos/ --cpp_out=. --grpc_out=. --plugin=protoc-gen-grpc=grpc_cpp_plugin helloworld.proto +$ protoc -I ../../protos/ --grpc_out=. --plugin=protoc-gen-grpc=grpc_cpp_plugin ../../protos/helloworld.proto +$ protoc -I ../../protos/ --cpp_out=. ../../protos/helloworld.proto ``` ### Writing a client