1use thiserror::Error;
2
3#[derive(Debug, Error)]
4#[non_exhaustive]
5pub enum ClusterError {
6 #[error("no silo available for grain")]
7 NoSiloAvailable,
8
9 #[error("transport error: {0}")]
10 Transport(String),
11
12 #[error("serialization error: {0}")]
13 Serialization(String),
14
15 #[error("deserialization error: {0}")]
16 Deserialization(String),
17
18 #[error("unknown grain type: {0}")]
19 UnknownGrainType(String),
20
21 #[error("unknown message type: {0}")]
22 UnknownMessageType(String),
23
24 #[error("handler error: {0}")]
25 HandlerError(String),
26
27 #[error("unsupported encoding for message {0}: {1}")]
28 UnsupportedEncoding(String, String),
29
30 #[error("unsupported message version for {0}: got v{1}, supported v{2}")]
31 UnsupportedMessageVersion(String, u32, u32),
32}