Safely share data with a real-time thread.
This crate provides some tools for sharing data with a real-time thread.
A shared value that can be read on a real-time thread.
fn main() {
let (writer, reader) = real_time::readable(SynthParameters::default());
}A shared value that can be written to from a real-time thread.
fn main() {
let (writer, reader) = real_time::writable(AudioPlaybackStats::default());
}A bounded, lock-free, single-producer, single consumer FIFO that is optimised for a real-time consumer. Values sent will be reclaimed and dropped by the producer once the real-time consumer has finished with them.
fn main() {
let (producer, consumer) = real_time::fifo::<MidiMessage, 16>();
}Add this to your Cargo.toml:
[dependencies]
real-time = "0.8"real_time::readable and real_time::writable use the same algorithms as RealtimeObject
from FAbian's Realtime Box o' Tricks, that
was presented at Meeting C++ 2019.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.