| 695 | } |
| 696 | |
| 697 | Status KrpcDataStreamSender::Channel::SendEosAsync() { |
| 698 | { |
| 699 | std::unique_lock<SpinLock> l(lock_); |
| 700 | DCHECK(!rpc_in_flight_); |
| 701 | DCHECK(rpc_status_.ok()); |
| 702 | if (UNLIKELY(remote_recvr_closed_)) return Status::OK(); |
| 703 | VLOG_RPC << "calling EndDataStream() to terminate channel. fragment_instance_id=" |
| 704 | << PrintId(fragment_instance_id_); |
| 705 | rpc_in_flight_ = true; |
| 706 | COUNTER_ADD(parent_->eos_sent_counter_, 1); |
| 707 | RETURN_IF_ERROR(DoEndDataStreamRpc()); |
| 708 | } |
| 709 | return Status::OK(); |
| 710 | } |
| 711 | |
| 712 | void KrpcDataStreamSender::Channel::Teardown(RuntimeState* state) { |
| 713 | // Normally, the channel should have been flushed before calling Teardown(), which means |
no test coverage detected