aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/cpp/server/server_cc.cc
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2016-12-08 14:11:47 -0800
committerGravatar Craig Tiller <ctiller@google.com>2016-12-08 14:11:47 -0800
commitf658bf0e1ba017038267246a42bd980ce0f9033d (patch)
tree83f9c56d4e97b0b40e94c91768ec83abd47badf6 /src/cpp/server/server_cc.cc
parent35e34915423bde8a4273f1837700442e2b698c67 (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.cc12
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(