diff options
author | 2016-07-07 11:09:49 -0700 | |
---|---|---|
committer | 2016-07-07 11:09:49 -0700 | |
commit | 256cc7aa034f038f8e82f3e278ca61b64252693b (patch) | |
tree | c446f55c412de675313c01bcbd7e0a5af43c2925 /test/cpp/util/proto_reflection_descriptor_database.cc | |
parent | 123a1b76d30f47527774d878f9e0e6cb30f4fb83 (diff) |
Support server reflection in CLI
Diffstat (limited to 'test/cpp/util/proto_reflection_descriptor_database.cc')
-rw-r--r-- | test/cpp/util/proto_reflection_descriptor_database.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/test/cpp/util/proto_reflection_descriptor_database.cc b/test/cpp/util/proto_reflection_descriptor_database.cc index 25b720aee0..48998551a5 100644 --- a/test/cpp/util/proto_reflection_descriptor_database.cc +++ b/test/cpp/util/proto_reflection_descriptor_database.cc @@ -53,7 +53,17 @@ ProtoReflectionDescriptorDatabase::ProtoReflectionDescriptorDatabase( std::shared_ptr<grpc::Channel> channel) : stub_(ServerReflection::NewStub(channel)) {} -ProtoReflectionDescriptorDatabase::~ProtoReflectionDescriptorDatabase() {} +ProtoReflectionDescriptorDatabase::~ProtoReflectionDescriptorDatabase() { + if (!stream_) { + GetStream()->WritesDone(); + Status status = stream_->Finish(); + if (!status.ok()) { + gpr_log(GPR_ERROR, + "ServerReflectionInfo rpc failed. Error code: %d, details: %s", + (int)status.error_code(), status.error_message().c_str()); + } + } +} bool ProtoReflectionDescriptorDatabase::FindFileByName( const string& filename, google::protobuf::FileDescriptorProto* output) { |