diff options
author | hozan23 <hozan23@karyontech.net> | 2024-06-21 22:45:17 +0200 |
---|---|---|
committer | hozan23 <hozan23@karyontech.net> | 2024-06-21 22:45:17 +0200 |
commit | 9aa972dd83a85cec5da71e8e893eb6e07d5db8ca (patch) | |
tree | a227c66e3e75e018f480556e1d58d40306acb12e /jsonrpc/src/error.rs | |
parent | 8fc494d2d508f0e0beefccda31d15a5e387a9791 (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.rs | 6 |
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), |