Resolve comments

pull/19016/head
yang-g 6 years ago
parent 51210ba922
commit 7c5bfbbb32
  1. 4
      include/grpcpp/impl/codegen/message_allocator.h
  2. 4
      include/grpcpp/impl/codegen/server_callback.h
  3. 23
      test/cpp/end2end/message_allocator_end2end_test.cc

@ -42,8 +42,10 @@ class MessageHolder : public RpcAllocatorState {
virtual void Release() { delete this; } virtual void Release() { delete this; }
RequestT* request() { return request_; } RequestT* request() { return request_; }
ResponseT* response() { return response_; } ResponseT* response() { return response_; }
void set_request(RequestT* request) { request_ = request; }
void set_response(ResponseT* response) { response_ = response; }
protected: private:
// NOTE: subclasses should set these pointers. // NOTE: subclasses should set these pointers.
RequestT* request_; RequestT* request_;
ResponseT* response_; ResponseT* response_;

@ -82,8 +82,8 @@ class DefaultMessageHolder
: public experimental::MessageHolder<Request, Response> { : public experimental::MessageHolder<Request, Response> {
public: public:
DefaultMessageHolder() { DefaultMessageHolder() {
this->request_ = &request_obj_; this->set_request(&request_obj_);
this->response_ = &response_obj_; this->set_response(&response_obj_);
} }
void Release() override { void Release() override {
// the object is allocated in the call arena. // the object is allocated in the call arena.

@ -233,24 +233,24 @@ class SimpleAllocatorTest : public MessageAllocatorEnd2endTestBase {
int* messages_deallocation_count) int* messages_deallocation_count)
: request_deallocation_count_(request_deallocation_count), : request_deallocation_count_(request_deallocation_count),
messages_deallocation_count_(messages_deallocation_count) { messages_deallocation_count_(messages_deallocation_count) {
request_ = new EchoRequest; set_request(new EchoRequest);
response_ = new EchoResponse; set_response(new EchoResponse);
} }
void Release() override { void Release() override {
(*messages_deallocation_count_)++; (*messages_deallocation_count_)++;
delete request_; delete request();
delete response_; delete response();
delete this; delete this;
} }
void FreeRequest() override { void FreeRequest() override {
(*request_deallocation_count_)++; (*request_deallocation_count_)++;
delete request_; delete request();
request_ = nullptr; set_request(nullptr);
} }
EchoRequest* ReleaseRequest() { EchoRequest* ReleaseRequest() {
auto* ret = request_; auto* ret = request();
request_ = nullptr; set_request(nullptr);
return ret; return ret;
} }
@ -341,9 +341,10 @@ class ArenaAllocatorTest : public MessageAllocatorEnd2endTestBase {
: public experimental::MessageHolder<EchoRequest, EchoResponse> { : public experimental::MessageHolder<EchoRequest, EchoResponse> {
public: public:
MessageHolderImpl() { MessageHolderImpl() {
request_ = google::protobuf::Arena::CreateMessage<EchoRequest>(&arena_); set_request(
response_ = google::protobuf::Arena::CreateMessage<EchoRequest>(&arena_));
google::protobuf::Arena::CreateMessage<EchoResponse>(&arena_); set_response(
google::protobuf::Arena::CreateMessage<EchoResponse>(&arena_));
} }
void FreeRequest() override { GPR_ASSERT(0); } void FreeRequest() override { GPR_ASSERT(0); }

Loading…
Cancel
Save