| 379 | } |
| 380 | |
| 381 | unique_ptr<TransmitDataCtx> |
| 382 | KrpcDataStreamRecvr::SenderQueue::DequeuePendingDeferredRpc() { |
| 383 | lock_.DCheckLocked(); |
| 384 | DCHECK(!pending_deferred_rpcs_.empty()); |
| 385 | unique_ptr<TransmitDataCtx> ctx = move(pending_deferred_rpcs_.front()); |
| 386 | pending_deferred_rpcs_.pop(); |
| 387 | if (pending_deferred_rpcs_.empty()) { |
| 388 | DCHECK_NE(has_pending_deferred_rpcs_start_time_ns_, 0); |
| 389 | int64_t duration = MonotonicNanos() - has_pending_deferred_rpcs_start_time_ns_; |
| 390 | COUNTER_ADD(recvr_->total_has_pending_deferred_rpcs_timer_, duration); |
| 391 | has_pending_deferred_rpcs_start_time_ns_ = 0; |
| 392 | } |
| 393 | return ctx; |
| 394 | } |
| 395 | |
| 396 | inline void KrpcDataStreamRecvr::SenderQueue::MarkErrorStatus(const Status& status, |
| 397 | const unique_lock<SpinLock>& lock) { |
nothing calls this directly
no test coverage detected