iqengine_plugin/server/
error.rs

1use thiserror::Error;
2
3use super::DataType;
4
5#[derive(Debug, Error)]
6pub enum IQEngineError {
7    #[error("Cannot decode base64 content")]
8    Base64Error(#[from] base64::DecodeError),
9    #[error("Missing IQ stream")]
10    MissingIQError,
11    #[error("Not yet implemented")]
12    NotYetImplemented(String),
13    #[error("DataType is unsupported")]
14    UnsupportedDataType(DataType),
15    #[error("Mandatory parameter is missing")]
16    MandatoryParameter(String),
17    #[error("File IO error")]
18    IOError(std::io::Error),
19    #[error("FutureSDR error")]
20    FutureSDRError(anyhow::Error),
21    #[error("Hound error")]
22    HoundError(hound::Error),
23    #[error("")]
24    IntoInnerError(std::io::IntoInnerError<std::io::BufWriter<std::io::Cursor<Vec<u8>>>>),
25}
26
27impl From<anyhow::Error> for IQEngineError {
28    fn from(value: anyhow::Error) -> Self {
29        IQEngineError::FutureSDRError(value)
30    }
31}
32
33impl From<hound::Error> for IQEngineError {
34    fn from(value: hound::Error) -> Self {
35        IQEngineError::HoundError(value)
36    }
37}