summaryrefslogtreecommitdiff
path: root/src/common/bounded_threadsafe_queue.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-09-16Reimplement HardwareOpusGravatar Kelebek11-2/+2
2023-03-21bounded_threadsafe_queue: Refactor PopGravatar Morph1-140/+62
Introduces PopModes to bring waiting logic into Pop, similar to Push.
2023-03-21bounded_threadsafe_queue: Add producer cv to avoid busy waitingGravatar Morph1-17/+29
2023-03-21bounded_threadsafe_queue: Deduplicate and add PushModesGravatar Morph1-86/+84
Adds the PushModes Try and Wait to allow producers to specify how they want to push their data to the queue if the queue is full. If the queue is full: - Try will fail to push to the queue, returning false. Try only returns true if it successfully pushes to the queue. This may result in items not being pushed into the queue. - Wait will wait until a slot is available to push to the queue, resulting in potential for deadlock if a consumer is not running.
2023-03-21bounded_threadsafe_queue: Add TryPushGravatar Morph1-0/+71
2023-03-21bounded_threadsafe_queue: Use simplified impl of bounded queueGravatar Morph1-112/+199
Provides a simplified SPSC, MPSC, and MPMC bounded queue implementation using mutexes.
2023-03-17common: bounded_threadsafe_queue: Use polyfill_thread.Gravatar bunnei1-2/+3
2022-10-22CMakeLists: Disable C4100 and C4324Gravatar Morph1-9/+0
Disabling C4100 is similar to -Wno-unused-parameter
2022-06-15bounded_threadsafe_queue: Use constexpr capacity and maskGravatar Morph1-86/+73
While this is the primary change, we also: - Remove the mpsc namespace and rename Queue to MPSCQueue - Make Slot a private struct within MPSCQueue - Remove the AlignedAllocator template argument, as we use std::allocator - Replace instances of mask + 1 with capacity, and mask + 2 with capacity + 1
2022-06-02gpu_thread: Move to bounded queueGravatar Levi Behunin1-0/+180