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

Method enqueue

src/msg/DispatchQueue.cc:84–99  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

82}
83
84void DispatchQueue::enqueue(const ref_t<Message>& m, int priority, uint64_t id)
85{
86 std::lock_guard l{lock};
87 if (stop) {
88 return;
89 }
90 ldout(cct,20) << "queue " << m << " prio " << priority << dendl;
91 QueueItem item{m};
92 add_arrival(item);
93 if (priority >= CEPH_MSG_PRIO_LOW) {
94 mqueue.enqueue_strict(id, priority, std::move(item));
95 } else {
96 mqueue.enqueue(id, priority, m->get_cost(), std::move(item));
97 }
98 cond.notify_one();
99}
100
101void DispatchQueue::local_delivery(const ref_t<Message>& m, int priority)
102{

Callers 4

do_requestMethod · 0.45
flushMethod · 0.45
handle_messageMethod · 0.45
handle_message_footerMethod · 0.45

Calls 3

enqueue_strictMethod · 0.45
get_costMethod · 0.45
notify_oneMethod · 0.45

Tested by

no test coverage detected