From 9aa972dd83a85cec5da71e8e893eb6e07d5db8ca Mon Sep 17 00:00:00 2001 From: hozan23 Date: Fri, 21 Jun 2024 22:45:17 +0200 Subject: 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. --- jsonrpc/README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'jsonrpc/README.md') diff --git a/jsonrpc/README.md b/jsonrpc/README.md index 4f016b4..ca0a212 100644 --- a/jsonrpc/README.md +++ b/jsonrpc/README.md @@ -112,16 +112,17 @@ async { .await .expect("send a request"); - let (sub_id, sub) = client + let sub = client .subscribe("HelloWorld.log_subscribe", ()) .await .expect("Subscribe to log_subscribe method"); + let sub_id = sub.id(); smol::spawn(async move { - sub.for_each(|m| { - println!("Receive new notification: {m}"); - }) - .await + loop { + let m = sub.recv().await.expect("Receive new log msg"); + println!("Receive new log {m}"); + } }) .detach(); -- cgit v1.2.3