diff options
author | 2015-11-25 11:45:33 -0800 | |
---|---|---|
committer | 2015-11-25 11:45:33 -0800 | |
commit | 52705590e463df5e6b852f15866cdfbfcf902fcb (patch) | |
tree | e9ac30bc757b13d497aa1441947c62b9c3506201 /src | |
parent | a23f17b1233453334ad137a3aeb338c801b5ada4 (diff) |
Add set pointer api to channel_arguments
Diffstat (limited to 'src')
-rw-r--r-- | src/cpp/common/channel_arguments.cc (renamed from src/cpp/client/channel_arguments.cc) | 15 | ||||
-rw-r--r-- | src/cpp/common/secure_channel_arguments.cc (renamed from src/cpp/client/secure_channel_arguments.cc) | 0 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/cpp/client/channel_arguments.cc b/src/cpp/common/channel_arguments.cc index 50422d06c9..90cd5136af 100644 --- a/src/cpp/client/channel_arguments.cc +++ b/src/cpp/common/channel_arguments.cc @@ -62,7 +62,9 @@ ChannelArguments::ChannelArguments(const ChannelArguments& other) break; case GRPC_ARG_POINTER: ap.value.pointer = a->value.pointer; - ap.value.pointer.p = a->value.pointer.copy(ap.value.pointer.p); + ap.value.pointer.p = a->value.pointer.copy + ? a->value.pointer.copy(ap.value.pointer.p) + : ap.value.pointer.p; break; } args_.push_back(ap); @@ -89,6 +91,17 @@ void ChannelArguments::SetInt(const grpc::string& key, int value) { args_.push_back(arg); } +void ChannelArguments::SetPointer(const grpc::string& key, void* value) { + grpc_arg arg; + arg.type = GRPC_ARG_POINTER; + strings_.push_back(key); + arg.key = const_cast<char*>(strings_.back().c_str()); + arg.value.pointer.p = value; + arg.value.pointer.copy = nullptr; + arg.value.pointer.destroy = nullptr; + args_.push_back(arg); +} + void ChannelArguments::SetString(const grpc::string& key, const grpc::string& value) { grpc_arg arg; diff --git a/src/cpp/client/secure_channel_arguments.cc b/src/cpp/common/secure_channel_arguments.cc index e17d3b58b0..e17d3b58b0 100644 --- a/src/cpp/client/secure_channel_arguments.cc +++ b/src/cpp/common/secure_channel_arguments.cc |