aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/cpp/qps/server_sync.cc
diff options
context:
space:
mode:
authorGravatar vjpai <vpai@google.com>2015-03-23 10:10:27 -0700
committerGravatar vjpai <vpai@google.com>2015-03-23 10:10:27 -0700
commit46f65239cf5bb55c106558196b9f293188746ef7 (patch)
treedb6a554d6358196eb54a43a187f316c84b15a978 /test/cpp/qps/server_sync.cc
parent99f1c1ee7efcceae76bf3dce17417ce5dc0ca0d7 (diff)
Added streaming C++ tests for sync and sync cases
Diffstat (limited to 'test/cpp/qps/server_sync.cc')
-rw-r--r--test/cpp/qps/server_sync.cc19
1 files changed, 18 insertions, 1 deletions
diff --git a/test/cpp/qps/server_sync.cc b/test/cpp/qps/server_sync.cc
index 5c6541989c..1dbdd64a34 100644
--- a/test/cpp/qps/server_sync.cc
+++ b/test/cpp/qps/server_sync.cc
@@ -62,7 +62,7 @@ class TestServiceImpl GRPC_FINAL : public TestService::Service {
public:
Status UnaryCall(ServerContext* context, const SimpleRequest* request,
SimpleResponse* response) GRPC_OVERRIDE {
- if (request->has_response_size() && request->response_size() > 0) {
+ if (request->response_size() > 0) {
if (!Server::SetPayload(request->response_type(),
request->response_size(),
response->mutable_payload())) {
@@ -71,6 +71,23 @@ class TestServiceImpl GRPC_FINAL : public TestService::Service {
}
return Status::OK;
}
+ Status StreamingCall(ServerContext *context,
+ ServerReaderWriter<SimpleResponse, SimpleRequest>*
+ stream) GRPC_OVERRIDE {
+ SimpleRequest request;
+ while (stream->Read(&request)) {
+ SimpleResponse response;
+ if (request.response_size() > 0) {
+ if (!Server::SetPayload(request.response_type(),
+ request.response_size(),
+ response.mutable_payload())) {
+ return Status(grpc::StatusCode::INTERNAL, "Error creating payload.");
+ }
+ }
+ stream->Write(response);
+ }
+ return Status::OK;
+ }
};
class SynchronousServer GRPC_FINAL : public grpc::testing::Server {