diff options
author | hozan23 <hozan23@karyontech.net> | 2024-05-21 02:20:45 +0200 |
---|---|---|
committer | hozan23 <hozan23@karyontech.net> | 2024-05-22 15:02:06 +0200 |
commit | 028940fe3e0a87cdc421a6d07f1ecfb6c208b9d0 (patch) | |
tree | 3272d5c71cafb098e548cb9811e8f9ddc260ef2f /jsonrpc/src/error.rs | |
parent | 0f0cefb62ee8b641dcabcc0a2a1cf019c1de4843 (diff) |
jsonrpc: support pubsub
Diffstat (limited to 'jsonrpc/src/error.rs')
-rw-r--r-- | jsonrpc/src/error.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/jsonrpc/src/error.rs b/jsonrpc/src/error.rs index 7f89729..d68e169 100644 --- a/jsonrpc/src/error.rs +++ b/jsonrpc/src/error.rs @@ -11,6 +11,9 @@ pub enum Error { #[error("Call Error: code: {0} msg: {1}")] CallError(i32, String), + #[error("Subscribe Error: code: {0} msg: {1}")] + SubscribeError(i32, String), + #[error("RPC Method Error: code: {0} msg: {1}")] RPCMethodError(i32, &'static str), @@ -29,6 +32,15 @@ pub enum Error { #[error("Unsupported protocol: {0}")] UnsupportedProtocol(String), + #[error("Subscription not found: {0}")] + SubscriptionNotFound(String), + + #[error(transparent)] + ChannelRecv(#[from] async_channel::RecvError), + + #[error("Channel broadcast Error: {0}")] + ChannelBroadcast(String), + #[error("Unexpected Error: {0}")] General(&'static str), @@ -38,3 +50,9 @@ pub enum Error { #[error(transparent)] KaryonNet(#[from] karyon_net::Error), } + +impl<T> From<async_channel::SendError<T>> for Error { + fn from(error: async_channel::SendError<T>) -> Self { + Error::ChannelBroadcast(error.to_string()) + } +} |