From 3a76fa74f1f3cf4cfa79ae477f3ff38fa917396d Mon Sep 17 00:00:00 2001 From: Mark Spanbroek Date: Tue, 27 Jun 2023 14:33:14 +0200 Subject: [PATCH] Make polling interval configurable --- ethers/providers/jsonrpc/subscriptions.nim | 5 +++-- testmodule/providers/jsonrpc/testJsonRpcSubscriptions.nim | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ethers/providers/jsonrpc/subscriptions.nim b/ethers/providers/jsonrpc/subscriptions.nim index 6855a7e..e24ead5 100644 --- a/ethers/providers/jsonrpc/subscriptions.nim +++ b/ethers/providers/jsonrpc/subscriptions.nim @@ -99,7 +99,8 @@ type PollingSubscriptions = ref object of JsonRpcSubscriptions proc new*(_: type JsonRpcSubscriptions, - client: RpcHttpClient): JsonRpcSubscriptions = + client: RpcHttpClient, + pollingInterval = 4.seconds): JsonRpcSubscriptions = let subscriptions = PollingSubscriptions(client: client) @@ -113,7 +114,7 @@ proc new*(_: type JsonRpcSubscriptions, while true: for id in toSeq subscriptions.callbacks.keys: await poll(id) - await sleepAsync(1.seconds) + await sleepAsync(pollingInterval) except CancelledError: raise diff --git a/testmodule/providers/jsonrpc/testJsonRpcSubscriptions.nim b/testmodule/providers/jsonrpc/testJsonRpcSubscriptions.nim index d5f6497..3d01fc0 100644 --- a/testmodule/providers/jsonrpc/testJsonRpcSubscriptions.nim +++ b/testmodule/providers/jsonrpc/testJsonRpcSubscriptions.nim @@ -49,6 +49,7 @@ suite "HTTP polling subscriptions": setup: client = newRpcHttpClient() await client.connect("http://localhost:8545") - subscriptions = JsonRpcSubscriptions.new(client) + subscriptions = JsonRpcSubscriptions.new(client, + pollingInterval = 100.millis) subscriptionTests(subscriptions, client)