1use thiserror::Error;
4
5#[derive(Debug, Error)]
7pub enum SdkError {
8 #[error("rune '{0}' is already registered")]
10 DuplicateRune(String),
11
12 #[error("stream already ended")]
14 StreamEnded,
15
16 #[error("transport error: {0}")]
18 Transport(#[from] tonic::transport::Error),
19
20 #[error("grpc error: {0}")]
22 Grpc(#[from] tonic::Status),
23
24 #[error("channel send error: {0}")]
26 ChannelSend(String),
27
28 #[error("handler error: {0}")]
30 HandlerError(String),
31
32 #[error("invalid uri: {0}")]
34 InvalidUri(String),
35
36 #[error("{0}")]
38 Other(String),
39}
40
41pub type SdkResult<T> = Result<T, SdkError>;