MCPcopy Create free account
hub / github.com/ceph/ceph / do_request

Method do_request

src/msg/async/AsyncConnection.cc:664–682  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

662}
663
664void AsyncConnection::DelayedDelivery::do_request(uint64_t id)
665{
666 Message *m = nullptr;
667 {
668 std::lock_guard<std::mutex> l(delay_lock);
669 register_time_events.erase(id);
670 if (stop_dispatch)
671 return ;
672 if (delay_queue.empty())
673 return ;
674 m = delay_queue.front();
675 delay_queue.pop_front();
676 }
677 if (msgr->ms_can_fast_dispatch(m)) {
678 dispatch_queue->fast_dispatch(m);
679 } else {
680 dispatch_queue->enqueue(m, m->get_priority(), conn_id);
681 }
682}
683
684void AsyncConnection::DelayedDelivery::discard() {
685 stop_dispatch = true;

Callers

nothing calls this directly

Calls 8

eraseMethod · 0.45
emptyMethod · 0.45
frontMethod · 0.45
pop_frontMethod · 0.45
ms_can_fast_dispatchMethod · 0.45
fast_dispatchMethod · 0.45
enqueueMethod · 0.45
get_priorityMethod · 0.45

Tested by

no test coverage detected