MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / try_dequeue_bulk

Method try_dequeue_bulk

deps/concurrentqueue/concurrentqueue.h:1210–1220  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1208 // Never allocates. Thread-safe.
1209 template<typename It>
1210 size_t try_dequeue_bulk(It itemFirst, size_t max)
1211 {
1212 size_t count = 0;
1213 for (auto ptr = producerListTail.load(std::memory_order_acquire); ptr != nullptr; ptr = ptr->next_prod()) {
1214 count += ptr->dequeue_bulk(itemFirst, max - count);
1215 if (count == max) {
1216 break;
1217 }
1218 }
1219 return count;
1220 }
1221
1222 // Attempts to dequeue several elements from the queue using an explicit consumer token.
1223 // Returns the number of items actually dequeued.

Callers

nothing calls this directly

Calls 2

next_prodMethod · 0.80
dequeue_bulkMethod · 0.80

Tested by

no test coverage detected