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

no-std ufotofu_queues

Infallible queues that support bulk enqueueing and dequeueing

7 releases (breaking)

0.6.0 Nov 30, 2024
0.5.0 Aug 8, 2024
0.4.1 Aug 5, 2024
0.4.0 Jul 8, 2024
0.1.0 Jun 24, 2024

#491 in Algorithms

Download history 199/week @ 2024-08-16 315/week @ 2024-08-23 128/week @ 2024-08-30 172/week @ 2024-09-06 64/week @ 2024-09-13 35/week @ 2024-09-20 30/week @ 2024-09-27 8/week @ 2024-10-04 13/week @ 2024-10-11 70/week @ 2024-10-18 67/week @ 2024-10-25 43/week @ 2024-11-01 39/week @ 2024-11-08 73/week @ 2024-11-15 24/week @ 2024-11-22 131/week @ 2024-11-29

271 downloads per month

MIT/Apache

32KB
618 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