Expand description
Real-time safe command queues for automation
§Неблокирующие очереди для двухпоточной архитектуры
Этот модуль предоставляет очереди для безопасного обмена данными между потоком управления (soft RT) и аудиопотоком (hard RT).
§Основные компоненты
- [
SpscQueue] — Single-producer single-consumer очередь (максимальная скорость) - [
RtQueueBase] — базовый трейт для всех очередей QueueError— ошибки операций с очередями (thiserror)- [
CommandQueue] — команды из control thread в signal thread - [
OverflowPolicy] — политики поведения при переполнении - [
UnderflowPolicy] — политики поведения при опустошении
Re-exports§
pub use command::CommandQueue;pub use error::QueueError;pub use error::QueueResult;pub use mpsc::MpscQueue;pub use rt_queue::RtQueue;pub use spsc::SpscQueue;pub use telemetry_block::TelemetryBlock;pub use signal::AutomatonCommand;pub use signal::CalibrationKind;pub use signal::CommandEnum;pub use signal::MappingType;pub use signal::SensorCommand;pub use signal::ServoCommand;pub use signal::SetParameter;pub use signal::SignalSource;
Modules§
- command
- CommandQueue — неблокирующая очередь команд
- error
- Ошибки, связанные с очередями
- mpsc
- Multiple-Producer Single-Consumer очередь
- observer
- Наблюдатель за микро-контролем — всевидящее око
- ring
- Кольцевая очередь с произвольным доступом
- rt_
queue - Главная RT-safe очередь для двухпоточной архитектуры
- signal
- Типы сигналов и команд для очередей
- spsc
- telemetry
- Очередь телеметрии — данные обратной связи из звукового мира
- telemetry_
block
Structs§
- Queue
Stats - Живая статистика очереди (собирается внутри очереди)
- Queue
Stats Snapshot - Снимок статистики очереди
Enums§
- Overflow
Policy - Политика поведения при переполнении очереди
- Underflow
Policy - Политика поведения при пустой очереди
Traits§
- RtQueue
Base - Базовый трейт для всех очередей, безопасных для реального времени
Functions§
- is_
power_ of_ two - Проверка, является ли число степенью двойки
- next_
power_ of_ two - Вычислить следующую степень двойки