Properly use unique_ptr rather than explicitly

deleting server context wrappers in QPS test
pull/7648/head
Vijay Pai 8 years ago
parent ffbfd01049
commit 4f17395b81
  1. 10
      test/cpp/qps/server_async.cc

@ -108,14 +108,14 @@ class AsyncQpsServerTest : public Server {
auto request_unary =
std::bind(request_unary_function, &async_service_, _1, _2, _3,
srv_cqs_[j].get(), srv_cqs_[j].get(), _4);
contexts_.push_front(
contexts_.emplace_back(
new ServerRpcContextUnaryImpl(request_unary, process_rpc_bound));
}
if (request_streaming_function) {
auto request_streaming =
std::bind(request_streaming_function, &async_service_, _1, _2,
srv_cqs_[j].get(), srv_cqs_[j].get(), _3);
contexts_.push_front(new ServerRpcContextStreamingImpl(
contexts_.emplace_back(new ServerRpcContextStreamingImpl(
request_streaming, process_rpc_bound));
}
}
@ -146,10 +146,6 @@ class AsyncQpsServerTest : public Server {
while ((*cq)->Next(&got_tag, &ok))
;
}
while (!contexts_.empty()) {
delete contexts_.front();
contexts_.pop_front();
}
}
private:
@ -336,7 +332,7 @@ class AsyncQpsServerTest : public Server {
std::unique_ptr<grpc::Server> server_;
std::vector<std::unique_ptr<grpc::ServerCompletionQueue>> srv_cqs_;
ServiceType async_service_;
std::forward_list<ServerRpcContext *> contexts_;
std::vector<std::unique_ptr<ServerRpcContext>> contexts_;
struct PerThreadShutdownState {
mutable std::mutex mutex;

Loading…
Cancel
Save