mirror of
https://github.com/RGBCube/serenity
synced 2025-05-16 16:44:57 +00:00
![]() This new class with an admittedly long OOP-y name provides a circular queue in shared memory. The queue is a lock-free synchronous queue implemented with atomics, and its implementation is significantly simplified by only accounting for one producer (and multiple consumers). It is intended to be used as a producer-consumer communication datastructure across processes. The original motivation behind this class is efficient short-period transfer of audio data in userspace. This class includes formal proofs of several correctness properties of the main queue operations `enqueue` and `dequeue`. These proofs are not 100% complete in their existing form as the invariants they depend on are "handwaved". This seems fine to me right now, as any proof is better than no proof :^). Anyways, the proofs should build confidence that the implemented algorithms, which are only roughly based on existing work, operate correctly in even the worst-case concurrency scenarios. |
||
---|---|---|
.. | ||
Superbuild | ||
all_the_debug_macros.cmake | ||
check_for_dependencies.cmake | ||
code_generators.cmake | ||
common_options.cmake | ||
commonmark_spec.cmake | ||
lagom-install-config.cmake | ||
lagom_options.cmake | ||
pnp_ids.cmake | ||
processor-count.cmake | ||
serenity_components.cmake | ||
serenity_options.cmake | ||
time_zone_data.cmake | ||
unicode_data.cmake | ||
utils.cmake | ||
wasm_spec_tests.cmake |