From d5a04bdc6e5ea6bc81ff15409381323c196b0e0f Mon Sep 17 00:00:00 2001 From: Yang Gao Date: Wed, 11 Feb 2015 00:04:32 -0800 Subject: Implement FillOps --- include/grpc++/impl/call.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'include/grpc++/impl') diff --git a/include/grpc++/impl/call.h b/include/grpc++/impl/call.h index 91f3f58443..edc6555b0c 100644 --- a/include/grpc++/impl/call.h +++ b/include/grpc++/impl/call.h @@ -34,6 +34,7 @@ #ifndef __GRPCPP_CALL_H__ #define __GRPCPP_CALL_H__ +#include #include #include @@ -72,16 +73,25 @@ class CallOpBuffer final : public CompletionQueueTag { // Convert to an array of grpc_op elements void FillOps(grpc_op *ops, size_t *nops); + // Release send buffers. + void ReleaseSendBuffer(); + // Called by completion queue just prior to returning from Next() or Pluck() void FinalizeResult(void *tag, bool *status) override; private: void *return_tag_ = nullptr; - std::multimap* metadata_ = nullptr; + size_t initial_metadata_count_ = 0; + grpc_metadata* initial_metadata_ = nullptr; const google::protobuf::Message* send_message_ = nullptr; + grpc_byte_buffer* write_buffer_ = nullptr; google::protobuf::Message* recv_message_ = nullptr; + grpc_byte_buffer* recv_message_buf_ = nullptr; bool client_send_close_ = false; - Status* status_ = nullptr; + Status* recv_status_ = nullptr; + grpc_status_code status_code_ = GRPC_STATUS_OK; + char* status_details_ = nullptr; + size_t status_details_capacity_ = 0; }; class CCallDeleter { -- cgit v1.2.3