aboutsummaryrefslogtreecommitdiff
path: root/jsonrpc/src/client/message_dispatcher.rs
diff options
context:
space:
mode:
Diffstat (limited to 'jsonrpc/src/client/message_dispatcher.rs')
-rw-r--r--jsonrpc/src/client/message_dispatcher.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/jsonrpc/src/client/message_dispatcher.rs b/jsonrpc/src/client/message_dispatcher.rs
index 14dcc71..f370985 100644
--- a/jsonrpc/src/client/message_dispatcher.rs
+++ b/jsonrpc/src/client/message_dispatcher.rs
@@ -34,6 +34,15 @@ impl MessageDispatcher {
self.chans.lock().await.remove(id);
}
+ /// Clear the registered channels.
+ pub(super) async fn clear(&self) {
+ let mut chans = self.chans.lock().await;
+ for (_, tx) in chans.iter() {
+ tx.close();
+ }
+ chans.clear();
+ }
+
/// Dispatches a response to the channel associated with the response's ID.
///
/// If a channel is registered for the response's ID, the response is sent