aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar vjpai <vpai@google.com>2015-02-27 23:47:12 -0800
committerGravatar vjpai <vpai@google.com>2015-02-27 23:47:12 -0800
commit4e1e1bc28e9c95333a730889bc1a09581731ae2b (patch)
tree6536356da296e11939716cb807eecdae15999364 /test
parent45b0bc4bec5d0b701dbe5ae98542473ef3eaa4e4 (diff)
Revert "Use typedefs to avoid triply-nested function templates"
This reverts commit 45b0bc4bec5d0b701dbe5ae98542473ef3eaa4e4. This revert is being done because the compilers on Travis don't understand the C++11 template/using syntax.
Diffstat (limited to 'test')
-rw-r--r--test/cpp/qps/client_async.cc19
-rw-r--r--test/cpp/qps/server_async.cc29
2 files changed, 22 insertions, 26 deletions
diff --git a/test/cpp/qps/client_async.cc b/test/cpp/qps/client_async.cc
index 0bd0f176a8..9ea9cfe8b9 100644
--- a/test/cpp/qps/client_async.cc
+++ b/test/cpp/qps/client_async.cc
@@ -105,24 +105,17 @@ class ClientRpcContext {
}
virtual void report_stats(gpr_histogram *hist) = 0;
};
-
-template <class RequestType, class ResponseType>
-using StartMethod = std::function<
- std::unique_ptr<grpc::ClientAsyncResponseReader
- <ResponseType>>(TestService::Stub *, grpc::ClientContext *,
- const RequestType &, void *)> ;
-
-template <class ResponseType> using DoneMethod =
- std::function<void(grpc::Status, ResponseType *)>;
-
template <class RequestType, class ResponseType>
class ClientRpcContextUnaryImpl : public ClientRpcContext {
public:
ClientRpcContextUnaryImpl(
TestService::Stub *stub,
const RequestType &req,
- StartMethod<RequestType,ResponseType> start_req,
- DoneMethod<ResponseType> on_done)
+ std::function<
+ std::unique_ptr<grpc::ClientAsyncResponseReader<ResponseType>>(
+ TestService::Stub *, grpc::ClientContext *, const RequestType &,
+ void *)> start_req,
+ std::function<void(grpc::Status, ResponseType *)> on_done)
: context_(),
stub_(stub),
req_(req),
@@ -157,7 +150,7 @@ class ClientRpcContextUnaryImpl : public ClientRpcContext {
RequestType req_;
ResponseType response_;
bool (ClientRpcContextUnaryImpl::*next_state_)();
- DoneMethod<ResponseType> callback_;
+ std::function<void(grpc::Status, ResponseType *)> callback_;
grpc::Status status_;
double start_;
std::unique_ptr<grpc::ClientAsyncResponseReader<ResponseType>>
diff --git a/test/cpp/qps/server_async.cc b/test/cpp/qps/server_async.cc
index 3d6379b73f..c797d8af96 100644
--- a/test/cpp/qps/server_async.cc
+++ b/test/cpp/qps/server_async.cc
@@ -183,19 +183,15 @@ class AsyncQpsServerTest {
return reinterpret_cast<ServerRpcContext *>(tag);
}
- template<class RequestType, class ResponseType>
- using RequestMethod = std::function<void(ServerContext *, RequestType *,
- grpc::ServerAsyncResponseWriter<ResponseType> *,
- void *)>;
- template<class RequestType, class ResponseType> using InvokeMethod =
- std::function<grpc::Status(const RequestType *, ResponseType *)>;
-
template <class RequestType, class ResponseType>
class ServerRpcContextUnaryImpl : public ServerRpcContext {
public:
ServerRpcContextUnaryImpl(
- RequestMethod<RequestType,ResponseType> request_method,
- InvokeMethod<RequestType,ResponseType> invoke_method)
+ std::function<void(ServerContext *, RequestType *,
+ grpc::ServerAsyncResponseWriter<ResponseType> *,
+ void *)> request_method,
+ std::function<grpc::Status(const RequestType *, ResponseType *)>
+ invoke_method)
: next_state_(&ServerRpcContextUnaryImpl::invoker),
request_method_(request_method),
invoke_method_(invoke_method),
@@ -233,8 +229,11 @@ class AsyncQpsServerTest {
ServerContext srv_ctx_;
RequestType req_;
bool (ServerRpcContextUnaryImpl::*next_state_)();
- RequestMethod<RequestType,ResponseType> request_method_;
- InvokeMethod<RequestType,ResponseType> invoke_method_;
+ std::function<void(ServerContext *, RequestType *,
+ grpc::ServerAsyncResponseWriter<ResponseType> *, void *)>
+ request_method_;
+ std::function<grpc::Status(const RequestType *, ResponseType *)>
+ invoke_method_;
grpc::ServerAsyncResponseWriter<ResponseType> response_writer_;
};
@@ -262,8 +261,12 @@ class AsyncQpsServerTest {
CompletionQueue srv_cq_;
TestService::AsyncService async_service_;
std::unique_ptr<Server> server_;
- RequestMethod<SimpleRequest, SimpleResponse> request_unary_;
- RequestMethod<StatsRequest, ServerStats> request_stats_;
+ std::function<void(ServerContext *, SimpleRequest *,
+ grpc::ServerAsyncResponseWriter<SimpleResponse> *, void *)>
+ request_unary_;
+ std::function<void(ServerContext *, StatsRequest *,
+ grpc::ServerAsyncResponseWriter<ServerStats> *, void *)>
+ request_stats_;
std::forward_list<ServerRpcContext *> contexts_;
};