1use thiserror::Error;
2
3pub type DispatchResult<T> = Result<T, DispatchError>;
5
6#[derive(Debug, Error, Clone, PartialEq, Eq)]
8pub enum DispatchError {
9 #[error("operation not found for selector {0:#04x}")]
11 OperationNotFound(u8),
12
13 #[error("invalid input: {0}")]
15 InvalidInput(String),
16
17 #[error("unknown operation type: {0}")]
19 UnknownOperationType(String),
20
21 #[error("missing parameter `{param}` for operation `{op}`")]
23 MissingParam { op: String, param: &'static str },
24
25 #[error("invalid continuation index {0}")]
27 InvalidContinuation(usize),
28}