#collector #data-structures #real-time #low-level #tool #memory-management #shared #tools #reference-counted

basedrop

Memory-management tools for real-time audio and other latency-critical scenarios

1 unstable release

0.1.2 Jun 24, 2021
0.1.1 Mar 4, 2021
0.1.0 Jan 18, 2021

#540 in Audio

Download history 395/week @ 2023-10-27 353/week @ 2023-11-03 353/week @ 2023-11-10 476/week @ 2023-11-17 395/week @ 2023-11-24 249/week @ 2023-12-01 386/week @ 2023-12-08 392/week @ 2023-12-15 359/week @ 2023-12-22 177/week @ 2023-12-29 347/week @ 2024-01-05 473/week @ 2024-01-12 348/week @ 2024-01-19 304/week @ 2024-01-26 149/week @ 2024-02-02 332/week @ 2024-02-09

1,201 downloads per month
Used in 31 crates (5 directly)

MIT/Apache

27KB
459 lines

🐟⤵️ basedrop

Cargo Documentation

A set of memory-management tools for real-time audio and other latency-critical scenarios.

basedrop provides smart pointers analogous to Box and Arc which mark their contents for deferred collection on another thread rather than immediately freeing it, making them safe to drop on a real-time thread.

License

basedrop is distributed under the terms of both the MIT license and the Apache license, version 2.0. Contributions are accepted under the same terms.


lib.rs:

Memory-management tools for real-time audio and other latency-critical scenarios.

  • Owned and Shared are smart pointers analogous to Box and Arc which add their contents to a queue for deferred collection when dropped.
  • Collector is used to process the drop queue.
  • Node provides a lower-level interface for implementing custom smart pointers or data structures.
  • SharedCell implements a mutable memory location holding a Shared pointer that can be used by multiple readers and writers in a thread-safe manner.

No runtime deps