diff options
author | 2016-12-08 14:11:47 -0800 | |
---|---|---|
committer | 2016-12-08 14:11:47 -0800 | |
commit | f658bf0e1ba017038267246a42bd980ce0f9033d (patch) | |
tree | 83f9c56d4e97b0b40e94c91768ec83abd47badf6 /src/cpp/server/server_cc.cc | |
parent | 35e34915423bde8a4273f1837700442e2b698c67 (diff) |
Start resolving memory issues in C++ metadata
Diffstat (limited to 'src/cpp/server/server_cc.cc')
-rw-r--r-- | src/cpp/server/server_cc.cc | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/src/cpp/server/server_cc.cc b/src/cpp/server/server_cc.cc index 1f8782ca72..06fa4a8538 100644 --- a/src/cpp/server/server_cc.cc +++ b/src/cpp/server/server_cc.cc @@ -586,14 +586,8 @@ ServerInterface::BaseAsyncRequest::~BaseAsyncRequest() { bool ServerInterface::BaseAsyncRequest::FinalizeResult(void** tag, bool* status) { if (*status) { - for (size_t i = 0; i < initial_metadata_array_.count; i++) { - context_->client_metadata_.insert( - std::pair<grpc::string_ref, grpc::string_ref>( - StringRefFromSlice(initial_metadata_array_.metadata[i].key), - StringRefFromSlice(initial_metadata_array_.metadata[i].value))); - } + context_->client_metadata_.FillMap(); } - grpc_metadata_array_destroy(&initial_metadata_array_); context_->set_call(call_); context_->cq_ = call_cq_; Call call(call_, server_, call_cq_, server_->max_receive_message_size()); @@ -619,8 +613,8 @@ void ServerInterface::RegisteredAsyncRequest::IssueRequest( ServerCompletionQueue* notification_cq) { grpc_server_request_registered_call( server_->server(), registered_method, &call_, &context_->deadline_, - &initial_metadata_array_, payload, call_cq_->cq(), notification_cq->cq(), - this); + context_->client_metadata_.arr(), payload, call_cq_->cq(), + notification_cq->cq(), this); } ServerInterface::GenericAsyncRequest::GenericAsyncRequest( |