spawned_concurrency/
error.rs1#[derive(Debug, thiserror::Error)]
2pub enum GenServerError {
3 #[error("Callback Error")]
4 Callback,
5 #[error("Initialization error")]
6 Initialization,
7 #[error("Server error")]
8 Server,
9 #[error("Unsupported Call Messages on this GenServer")]
10 CallMsgUnused,
11 #[error("Unsupported Cast Messages on this GenServer")]
12 CastMsgUnused,
13 #[error("Call to GenServer timed out")]
14 CallTimeout,
15}
16
17impl<T> From<spawned_rt::threads::mpsc::SendError<T>> for GenServerError {
18 fn from(_value: spawned_rt::threads::mpsc::SendError<T>) -> Self {
19 Self::Server
20 }
21}
22
23impl<T> From<spawned_rt::tasks::mpsc::SendError<T>> for GenServerError {
24 fn from(_value: spawned_rt::tasks::mpsc::SendError<T>) -> Self {
25 Self::Server
26 }
27}
28
29#[cfg(test)]
30mod tests {
31 use super::*;
32
33 #[test]
34 fn test_error_into_std_error() {
35 let error: &dyn std::error::Error = &GenServerError::Callback;
36 assert_eq!(error.to_string(), "Callback Error");
37 }
38}