Merge pull request #23408 from grpc/vjpai-patch-1

Don't drop message on WriteAndFinish with non-ok status
pull/23387/head
Vijay Pai 5 years ago committed by GitHub
commit 5e224f7e89
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 14
      include/grpcpp/impl/codegen/server_callback_handlers.h

@ -579,11 +579,8 @@ class CallbackServerStreamingHandler : public ::grpc::internal::MethodHandler {
void WriteAndFinish(const ResponseType* resp, ::grpc::WriteOptions options,
::grpc::Status s) override {
// This combines the write into the finish callback
// Don't send any message if the status is bad
if (s.ok()) {
// TODO(vjpai): don't assert
GPR_CODEGEN_ASSERT(finish_ops_.SendMessagePtr(resp, options).ok());
}
// TODO(vjpai): don't assert
GPR_CODEGEN_ASSERT(finish_ops_.SendMessagePtr(resp, options).ok());
Finish(std::move(s));
}
@ -784,11 +781,8 @@ class CallbackBidiHandler : public ::grpc::internal::MethodHandler {
void WriteAndFinish(const ResponseType* resp, ::grpc::WriteOptions options,
::grpc::Status s) override {
// Don't send any message if the status is bad
if (s.ok()) {
// TODO(vjpai): don't assert
GPR_CODEGEN_ASSERT(finish_ops_.SendMessagePtr(resp, options).ok());
}
// TODO(vjpai): don't assert
GPR_CODEGEN_ASSERT(finish_ops_.SendMessagePtr(resp, options).ok());
Finish(std::move(s));
}

Loading…
Cancel
Save