aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/grpc++/impl
diff options
context:
space:
mode:
authorGravatar Craig Tiller <craig.tiller@gmail.com>2015-02-10 14:29:29 -0800
committerGravatar Craig Tiller <craig.tiller@gmail.com>2015-02-10 14:29:29 -0800
commitd608892313fff2983f2aba2602581bee7108c875 (patch)
tree2ea9e9f7883f70dd94405d276b6316f5a881d6b9 /include/grpc++/impl
parent85326964b017f1c9a211ec407e2b8002a7314705 (diff)
parent7eb7d75c512020cc9ca43c12414281a2b7b45e78 (diff)
Merge pull request #4 from yang-g/c++api
call implementation part 1
Diffstat (limited to 'include/grpc++/impl')
-rw-r--r--include/grpc++/impl/call.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/include/grpc++/impl/call.h b/include/grpc++/impl/call.h
index de789febe6..91f3f58443 100644
--- a/include/grpc++/impl/call.h
+++ b/include/grpc++/impl/call.h
@@ -38,7 +38,7 @@
#include <grpc++/completion_queue.h>
#include <memory>
-#include <vector>
+#include <map>
namespace google {
namespace protobuf {
@@ -59,7 +59,9 @@ class CallOpBuffer final : public CompletionQueueTag {
void Reset(void *next_return_tag);
- void AddSendInitialMetadata(std::vector<std::pair<grpc::string, grpc::string> > *metadata);
+ // Does not take ownership.
+ void AddSendInitialMetadata(
+ std::multimap<grpc::string, grpc::string> *metadata);
void AddSendMessage(const google::protobuf::Message &message);
void AddRecvMessage(google::protobuf::Message *message);
void AddClientSendClose();
@@ -74,7 +76,12 @@ class CallOpBuffer final : public CompletionQueueTag {
void FinalizeResult(void *tag, bool *status) override;
private:
- void *return_tag_;
+ void *return_tag_ = nullptr;
+ std::multimap<grpc::string, grpc::string>* metadata_ = nullptr;
+ const google::protobuf::Message* send_message_ = nullptr;
+ google::protobuf::Message* recv_message_ = nullptr;
+ bool client_send_close_ = false;
+ Status* status_ = nullptr;
};
class CCallDeleter {