| 485 | } |
| 486 | |
| 487 | Status DoneWriting() override { |
| 488 | // Do not CheckStarted - DoneWriting applies to data and metadata |
| 489 | if (batch_writer_) { |
| 490 | // Close the writer if we have one; this will force it to flush any |
| 491 | // remaining data, before we close the write side of the stream. |
| 492 | writer_closed_ = true; |
| 493 | Status st = batch_writer_->Close(); |
| 494 | if (!st.ok()) { |
| 495 | return stream_->Finish(std::move(st)); |
| 496 | } |
| 497 | } |
| 498 | return stream_->WritesDone(); |
| 499 | } |
| 500 | |
| 501 | Status Close() override { |
| 502 | // Do not CheckStarted - Close applies to data and metadata |