/real-time

Safely share data with a real-time thread ⏱️

Primary LanguageRustApache License 2.0Apache-2.0

real-time ⏱️

Build Crates.io Docs.rs

Safely share data with a real-time thread.

Overview

This crate provides some tools for sharing data with a real-time thread:

Shared Values

Type wrappers that can be used to share values between a real-time thread and another thread, in a way that is real-time safe.

They use the same algorithms as RealtimeObject from FAbian's Realtime Box o' Tricks, that was presented at Meeting C++ 2019.

  • RealtimeReader, for reading from a shared value on a real-time thread.
  • RealtimeWriter, for writing to a shared value on a real-time thread.

FIFOs

  • fifo, a lock-free single-producer, single-consumer FIFO that is optimised for a real-time consumer.

Usage

Add this to your Cargo.toml:

[dependencies]
real-time = "0.5"

License

Licensed under either of

at your option.

Contribution

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.