kproc_values/
error.rs

1use std::sync::PoisonError;
2
3/// Error enum for kproc
4#[derive(thiserror::Error, Debug)]
5#[allow(missing_docs)]
6#[non_exhaustive]
7pub enum Error
8{
9  #[error("SendError in streams communication, most likely end of stream: {0}.")]
10  SendError(String),
11  #[error("IO Error: {0}.")]
12  IOError(#[from] std::io::Error),
13  #[error("Serialization error: {0}")]
14  JsonSerializationError(#[from] serde_json::Error),
15  #[error("Deserialization error: {0}")]
16  DeserializationError(String),
17  #[cfg(feature = "image")]
18  #[error("Image error: {0}")]
19  ImageError(#[from] image::ImageError),
20  #[error("Poison (Mutex/RwLock) error: {0}")]
21  PoisonError(String),
22}
23
24impl<T> From<PoisonError<T>> for Error
25{
26  fn from(value: PoisonError<T>) -> Self
27  {
28    Error::PoisonError(value.to_string())
29  }
30}