use crate::registry::AcceleratorRegistry;
#[cfg(feature = "async-detect")]
#[derive(Debug, Clone)]
pub struct AsyncDetectError;
#[cfg(feature = "async-detect")]
impl std::fmt::Display for AsyncDetectError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "detection task panicked")
}
}
#[cfg(feature = "async-detect")]
impl std::error::Error for AsyncDetectError {}
impl AcceleratorRegistry {
#[cfg(feature = "async-detect")]
pub async fn detect_async() -> Result<Self, AsyncDetectError> {
Ok(crate::detect::detect_with_builder_async(crate::registry::DetectBuilder::new()).await)
}
}
impl crate::registry::DetectBuilder {
#[cfg(feature = "async-detect")]
pub async fn detect_async(self) -> Result<AcceleratorRegistry, AsyncDetectError> {
Ok(crate::detect::detect_with_builder_async(self).await)
}
}