1use asyn_rs::error::AsynError;
2
3#[derive(Debug, thiserror::Error)]
5pub enum ADError {
6 #[error("invalid dimensions: {0}")]
7 InvalidDimensions(String),
8
9 #[error("buffer size mismatch: expected {expected}, actual {actual}")]
10 BufferSizeMismatch { expected: usize, actual: usize },
11
12 #[error("data type mismatch: expected {expected:?}, actual {actual:?}")]
13 DataTypeMismatch {
14 expected: super::ndarray::NDDataType,
15 actual: super::ndarray::NDDataType,
16 },
17
18 #[error("pool exhausted: {0} bytes requested, {1} bytes limit")]
19 PoolExhausted(usize, usize),
20
21 #[error("unsupported conversion: {0}")]
22 UnsupportedConversion(String),
23
24 #[error("I/O error: {0}")]
25 Io(#[from] std::io::Error),
26
27 #[error("asyn error: {0}")]
28 Asyn(#[from] AsynError),
29}
30
31pub type ADResult<T> = Result<T, ADError>;