BBQueue - Going Just Far Enough with Generics
Автор: Self-Directed Research
Загружено: 2024-08-14
Просмотров: 354
Описание:
A dive into abstracting unusual behavior differences using generics to manage different storage and async usage styles
Thank you to OneVariable https://onevariable.com/ for sponsoring this episode - Get in touch by emailing [email protected].
Check out https://sdr-podcast.com/episodes/bbqu... for more information on this episode (like show notes, transcript, more information on the sponsor)
[00:00:00] Start
[00:00:45] Going just far enough with generics in bbqueue
[00:02:06] 2 stages: "grants" then "commit" or "release"
[00:03:14] Why 2 stages?
[00:06:40] inline or heap storage?
[00:11:00] async or not?
[00:17:31] Atomic or not?
[00:21:37] Borrowed or Arc metadata?
[00:24:03] Flavors of bbqueue
Show Notes
BBQueue https://docs.rs/bbqueue/latest/bbqueue/ “BipBuffer Queue” and on GitHub https://github.com/jamesmunns/bbqueue, Bip-Buffer https://docs.rs/bipbuffer/latest/bipb... bipartite buffer
SPSC https://docs.rs/heapless/latest/heapl... single producer single consumer, MPSC https://doc.rust-lang.org/std/sync/mp... multi-producer single-consumer
Zero copy deserialization https://rkyv.org/zero-copy-deserializ..., DMA https://en.wikipedia.org/wiki/Direct_... direct memory access, FIFO https://en.wikipedia.org/wiki/FIFO_co... first in, first out allocator
Small strings in Rust https://fasterthanli.me/articles/smal...
binary combinatorics https://en.wikipedia.org/wiki/Enumera...
Tokio channel https://tokio.rs/tokio/tutorial/channels, .send .await / .receive .await
UDP socket, `mio` methods https://docs.rs/mio/latest/mio/guide/...
TOC/TOU https://en.wikipedia.org/wiki/Time-of... or time-of-check to time-of-use
Embassy synchronization primitives https://docs.embassy.dev/embassy-sync..., Tokio synchronization primitives https://docs.rs/tokio/latest/tokio/sy...
atomics https://doc.rust-lang.org/nomicon/ato... in Rust, compare and swap https://doc.rust-lang.org/std/sync/at...
LL/SC https://en.wikipedia.org/wiki/Load-li... or load-linked/store-conditional, Coretex-M LDREX/STREX https://developer.arm.com/documentati... Load and Store Register Exclusive
lock free data structure https://www.notion.so/Normal-ass-meet..., Raspberry Pi 2040 https://www.raspberrypi.com/documenta..., critical section https://en.wikipedia.org/wiki/Critica...
Types of barbeque https://en.wikipedia.org/wiki/Regiona... around the world
Miri https://github.com/rust-lang/miri, SemVer https://semver.org/ semantic versioning
bbq2 https://github.com/jamesmunns/bbq2/ on GitHub
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: