Queue with single and multi producer/consumer options.
Definition in file queue.hpp.
Go to the source code of this file.
#include <atomic>#include <limits>#include <memory>#include <moodycamel/concurrentqueue.h>#include <userver/concurrent/impl/semaphore_capacity_control.hpp>#include <userver/concurrent/queue_helpers.hpp>#include <userver/engine/deadline.hpp>#include <userver/engine/semaphore.hpp>#include <userver/engine/single_consumer_event.hpp>#include <userver/engine/task/cancel.hpp>#include <userver/utils/assert.hpp>#include <userver/utils/atomic.hpp>
This graph shows which files directly or indirectly include this file:Classes | |
| struct | concurrent::DefaultQueuePolicy |
| The default queue policy for GenericQueue. Custom queue policies must inherit from it. More... | |
| class | concurrent::GenericQueue< T, QueuePolicy > |
| Queue with single and multi producer/consumer options. More... | |
| class | concurrent::GenericQueue< T, QueuePolicy >::SingleProducerSide |
| class | concurrent::GenericQueue< T, QueuePolicy >::MultiProducerSide |
| class | concurrent::GenericQueue< T, QueuePolicy >::NoMaxSizeProducerSide |
| class | concurrent::GenericQueue< T, QueuePolicy >::SingleConsumerSide |
| class | concurrent::GenericQueue< T, QueuePolicy >::MultiConsumerSide |
Namespaces | |
| namespace | concurrent |
| Locking stuff. | |
Typedefs | |
| template<typename T> | |
| using | concurrent::NonFifoMpmcQueue = GenericQueue<T, impl::SimpleQueuePolicy<true, true>> |
| Non FIFO multiple producers multiple consumers queue. | |
| template<typename T> | |
| using | concurrent::NonFifoMpscQueue = GenericQueue<T, impl::SimpleQueuePolicy<true, false>> |
| Non FIFO multiple producers single consumer queue. | |
| template<typename T> | |
| using | concurrent::SpmcQueue = GenericQueue<T, impl::SimpleQueuePolicy<false, true>> |
| Single producer multiple consumers queue. | |
| template<typename T> | |
| using | concurrent::SpscQueue = GenericQueue<T, impl::SimpleQueuePolicy<false, false>> |
| Single producer single consumer queue. | |
| template<typename T> | |
| using | concurrent::UnboundedNonFifoMpscQueue = GenericQueue<T, impl::NoMaxSizeQueuePolicy<true, false>> |
| Like. | |
| template<typename T> | |
| using | concurrent::UnboundedSpmcQueue = GenericQueue<T, impl::NoMaxSizeQueuePolicy<false, true>> |
| Like. | |
| template<typename T> | |
| using | concurrent::UnboundedSpscQueue = GenericQueue<T, impl::NoMaxSizeQueuePolicy<false, false>> |
| Like. | |
| using | concurrent::StringStreamQueue = GenericQueue<std::string, impl::ContainerQueuePolicy<false, false>> |
| Single producer single consumer queue of std::string which is bounded by the total bytes inside the strings. | |
Enumerations | |
| enum class | concurrent::QueueMaxSizeMode { concurrent::kNone , concurrent::kDynamicSync } |
| Represents the manner in which the queue enforces the configured max size limit. More... | |