#[cfg(std_io)]
use super::cache::CacheConfig;
use super::logger::{LogLevel, LoggerConfig};
#[derive(Default, Clone, Debug, serde::Serialize, serde::Deserialize)]
pub struct AutotuneConfig {
#[serde(default)]
pub logger: LoggerConfig<AutotuneLogLevel>,
#[serde(default)]
pub level: AutotuneLevel,
#[serde(default)]
#[cfg(std_io)]
pub cache: CacheConfig,
}
#[derive(Default, Clone, Copy, Debug, serde::Serialize, serde::Deserialize)]
pub enum AutotuneLogLevel {
#[serde(rename = "disabled")]
Disabled,
#[default]
#[serde(rename = "minimal")]
Minimal,
#[serde(rename = "full")]
Full,
}
impl LogLevel for AutotuneLogLevel {}
#[derive(Default, Clone, Debug, serde::Serialize, serde::Deserialize)]
pub enum AutotuneLevel {
#[serde(rename = "minimal")]
Minimal,
#[default]
#[serde(rename = "balanced")]
Balanced,
#[serde(rename = "extensive")]
Extensive,
#[serde(rename = "full")]
Full,
}