| 216 | } |
| 217 | |
| 218 | void DispatchQueue::discard_queue(uint64_t id) { |
| 219 | std::lock_guard l{lock}; |
| 220 | std::list<QueueItem> removed; |
| 221 | mqueue.remove_by_class(id, &removed); |
| 222 | for (auto i = removed.begin(); i != removed.end(); ++i) { |
| 223 | ceph_assert(!(i->is_code())); // We don't discard id 0, ever! |
| 224 | const ref_t<Message>& m = i->get_message(); |
| 225 | remove_arrival(*i); |
| 226 | dispatch_throttle_release(m->get_dispatch_throttle_size()); |
| 227 | } |
| 228 | } |
| 229 | |
| 230 | void DispatchQueue::start() |
| 231 | { |
no test coverage detected