Skip to main content

sof_gossip_tuning/
lib.rs

1#![cfg_attr(
2    test,
3    allow(
4        clippy::expect_used,
5        clippy::indexing_slicing,
6        clippy::missing_docs_in_private_items,
7        clippy::panic,
8        missing_docs
9    )
10)]
11
12//! Typed control surface for SOF gossip and ingest tuning.
13//!
14//! This crate is intentionally narrow:
15//! - it models the tuning knobs SOF can already apply directly,
16//! - it keeps upstream gossip queue ambitions explicit without pretending they are live,
17//! - it gives service builders one typed place to define host-specific tuning presets.
18
19pub mod application;
20pub mod domain;
21
22#[cfg(test)]
23mod tests;
24
25pub use application::{ports::RuntimeTuningPort, service::GossipTuningService};
26pub use domain::{
27    constants::{
28        DEFAULT_INGEST_QUEUE_CAPACITY, DEFAULT_RECEIVER_COALESCE_WAIT_MS, DEFAULT_UDP_BATCH_SIZE,
29        LEGACY_GOSSIP_CHANNEL_CAPACITY, VPS_GOSSIP_CHANNEL_CAPACITY,
30    },
31    error::TuningValueError,
32    model::{
33        GossipChannelTuning, GossipTuningProfile, HostProfilePreset, IngestQueueMode,
34        PendingGossipQueuePlan, ReceiverFanoutProfile, ReceiverPinningPolicy, SofRuntimeTuning,
35    },
36    value_objects::{CpuCoreIndex, QueueCapacity, ReceiverCoalesceWindow, TvuReceiveSocketCount},
37};