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

Method flush

src/msg/async/AsyncConnection.cc:704–723  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

702}
703
704void AsyncConnection::DelayedDelivery::flush() {
705 stop_dispatch = true;
706 center->submit_to(
707 center->get_id(), [this] () mutable {
708 std::lock_guard<std::mutex> l(delay_lock);
709 while (!delay_queue.empty()) {
710 Message *m = delay_queue.front();
711 if (msgr->ms_can_fast_dispatch(m)) {
712 dispatch_queue->fast_dispatch(m);
713 } else {
714 dispatch_queue->enqueue(m, m->get_priority(), conn_id);
715 }
716 delay_queue.pop_front();
717 }
718 for (auto i : register_time_events)
719 center->delete_time_event(i);
720 register_time_events.clear();
721 stop_dispatch = false;
722 }, true);
723}
724
725void AsyncConnection::send_keepalive()
726{

Callers 5

faultMethod · 0.45
stopMethod · 0.45
reuse_connectionMethod · 0.45
stopMethod · 0.45
replaceMethod · 0.45

Calls 11

submit_toMethod · 0.80
delete_time_eventMethod · 0.80
get_idMethod · 0.45
emptyMethod · 0.45
frontMethod · 0.45
ms_can_fast_dispatchMethod · 0.45
fast_dispatchMethod · 0.45
enqueueMethod · 0.45
get_priorityMethod · 0.45
pop_frontMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected