diff --git a/test/cpp/qps/client_async.cc b/test/cpp/qps/client_async.cc index 0bd0f176a86ce0fd37cba2f80f2c5f34838480dd..9ea9cfe8b9b8a8ccbdae16f0b33cd1e5ba2905b7 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 3d6379b73f590232ee23eaf3c81bd6e1b34622fc..c797d8af9630bf4fdddee06c838b1e3ef39a5d94 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_; };