summaryrefslogtreecommitdiff
path: root/src/common/bounded_threadsafe_queue.h
AgeCommit message (Collapse)Author
2025-01-14Revert incorrect copyright attribution for non-contributed filesZephyron
- In commit b3facaa6bb30cdc39f2b7d632fef1e3bfeee7785, the copyright header was updated to include "Citron Homebrew Project" across multiple files, regardless of whether any contributions were made. - This commit removes the incorrect attribution and reverts the copyright header to its previous state. - Copyright attribution should only be added when meaningful contributions have been made to the file. - This commit ensures proper compliance with copyright standards and maintains correct attribution to the respective contributors. - Special thanks to Tachi for pointing out the need for these corrections and ensuring that proper attribution practices are followed.
2024-12-31chore: update project references and add Citron copyrightZephyron
- Replaced all references to the old project name with Citron. - Added Citron copyright information alongside existing notices in all files.
2023-09-16Reimplement HardwareOpusKelebek1
2023-03-21bounded_threadsafe_queue: Refactor PopMorph
Introduces PopModes to bring waiting logic into Pop, similar to Push.
2023-03-21bounded_threadsafe_queue: Add producer cv to avoid busy waitingMorph
2023-03-21bounded_threadsafe_queue: Deduplicate and add PushModesMorph
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 TryPushMorph
2023-03-21bounded_threadsafe_queue: Use simplified impl of bounded queueMorph
Provides a simplified SPSC, MPSC, and MPMC bounded queue implementation using mutexes.
2023-03-17common: bounded_threadsafe_queue: Use polyfill_thread.bunnei
2022-10-22CMakeLists: Disable C4100 and C4324Morph
Disabling C4100 is similar to -Wno-unused-parameter
2022-06-15bounded_threadsafe_queue: Use constexpr capacity and maskMorph
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 queueLevi Behunin