#queue #bulk #non-blocking #infallible #ring-buffer #enqueueing #dequeueing

no-std ufotofu_queues

Infallible queues that support bulk enqueueing and dequeueing

6 releases (breaking)

0.5.0 Aug 8, 2024
0.4.1 Aug 5, 2024
0.4.0 Jul 8, 2024
0.3.0 Jul 6, 2024
0.1.0 Jun 24, 2024

#484 in Algorithms

Download history 146/week @ 2024-06-24 225/week @ 2024-07-01 163/week @ 2024-07-08 25/week @ 2024-07-15 15/week @ 2024-07-29 269/week @ 2024-08-05 372/week @ 2024-08-12 201/week @ 2024-08-19 426/week @ 2024-08-26

1,268 downloads per month
Used in 4 crates (via ufotofu)

MIT/Apache

38KB
629 lines

UFOTOFU QUEUES

A trait and implementations of non-blocking, infallible queues that support bulk enqueueing and bulk dequeueing via APIs inspired by ufotofu.

Queue Implementations

So far, there is only a single implementation: Fixed, which is a heap-allocated ring-buffer of unchanging capacity.

Future plans include a queue of static (known at compile-time) capacity that can be used in allocator-less environments, and an elastic queue that grows and shrinks its capacity within certain parameters, to free up memory under low load.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option. Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

No runtime deps

Features