aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/grpc++/impl
diff options
context:
space:
mode:
authorGravatar Yang Gao <yangg@google.com>2015-02-11 00:04:32 -0800
committerGravatar Yang Gao <yangg@google.com>2015-02-11 00:04:32 -0800
commitd5a04bdc6e5ea6bc81ff15409381323c196b0e0f (patch)
treef2921aa2451083f54cf7694df561370e18f6cb68 /include/grpc++/impl
parentd608892313fff2983f2aba2602581bee7108c875 (diff)
Implement FillOps
Diffstat (limited to 'include/grpc++/impl')
-rw-r--r--include/grpc++/impl/call.h14
1 files changed, 12 insertions, 2 deletions
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 <grpc/grpc.h>
#include <grpc++/status.h>
#include <grpc++/completion_queue.h>
@@ -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<grpc::string, grpc::string>* 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 {