aboutsummaryrefslogtreecommitdiff
path: root/jsonrpc/src/error.rs
diff options
context:
space:
mode:
authorhozan23 <hozan23@karyontech.net>2024-06-21 22:45:17 +0200
committerhozan23 <hozan23@karyontech.net>2024-06-21 22:45:17 +0200
commit9aa972dd83a85cec5da71e8e893eb6e07d5db8ca (patch)
treea227c66e3e75e018f480556e1d58d40306acb12e /jsonrpc/src/error.rs
parent8fc494d2d508f0e0beefccda31d15a5e387a9791 (diff)
jsonrpc/client: fix subscription error when the subscriber cannot keep up
Add a limit for receiving notifications for the subscription. If this limit is exceeded, the client will stop and raise an error. The limit is configurable when building a new client.
Diffstat (limited to 'jsonrpc/src/error.rs')
-rw-r--r--jsonrpc/src/error.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/jsonrpc/src/error.rs b/jsonrpc/src/error.rs
index 89d0e2f..f409c8d 100644
--- a/jsonrpc/src/error.rs
+++ b/jsonrpc/src/error.rs
@@ -29,6 +29,12 @@ pub enum Error {
#[error("Subscription not found: {0}")]
SubscriptionNotFound(String),
+ #[error("Subscription exceeds the maximum buffer size")]
+ SubscriptionBufferFull,
+
+ #[error("ClientDisconnected")]
+ ClientDisconnected,
+
#[error(transparent)]
ChannelRecv(#[from] async_channel::RecvError),