From 19bb1d87534b3838fbde0f21c9e76716fe999b32 Mon Sep 17 00:00:00 2001 From: Alexey Proshutinskiy Date: Tue, 17 Sep 2024 18:16:18 +0300 Subject: [PATCH 1/3] feat(chain-listener): enable ws ping --- crates/chain-listener/src/listener.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/chain-listener/src/listener.rs b/crates/chain-listener/src/listener.rs index 73c193819c..20b11b1652 100644 --- a/crates/chain-listener/src/listener.rs +++ b/crates/chain-listener/src/listener.rs @@ -42,7 +42,7 @@ use jsonrpsee::core::client::{Client as WsClient, Subscription, SubscriptionClie use jsonrpsee::core::params::ArrayParams; use jsonrpsee::core::{client, JsonValue}; use jsonrpsee::rpc_params; -use jsonrpsee::ws_client::WsClientBuilder; +use jsonrpsee::ws_client::{PingConfig, WsClientBuilder}; use libp2p_identity::PeerId; use serde::de::DeserializeOwned; use serde_json::{json, Value}; @@ -71,6 +71,7 @@ use crate::proof_tracker::ProofTracker; use crate::types::{CUGroups, PhysicalCoreGroups}; const PROOF_POLL_LIMIT: usize = 50; +const WS_PING_PERIOD_SEC: u64 = 20; #[derive(Clone)] struct OnChainWorker { @@ -458,6 +459,9 @@ impl ChainListener { pub async fn create_ws_client(ws_endpoint: &str) -> Result { let ws_client = retry(ExponentialBackoff::default(), || async { let client = WsClientBuilder::default() + .enable_ws_ping( + PingConfig::new().ping_interval(Duration::from_secs(WS_PING_PERIOD_SEC)), + ) .build(ws_endpoint) .await .map_err(|err| { From 3844849669d515f071611222651d7a74050c4d40 Mon Sep 17 00:00:00 2001 From: Aleksey Proshutinskiy Date: Tue, 17 Sep 2024 18:18:59 +0300 Subject: [PATCH 2/3] Update crates/chain-listener/src/listener.rs --- crates/chain-listener/src/listener.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/chain-listener/src/listener.rs b/crates/chain-listener/src/listener.rs index 20b11b1652..b9d99f3fcb 100644 --- a/crates/chain-listener/src/listener.rs +++ b/crates/chain-listener/src/listener.rs @@ -71,7 +71,7 @@ use crate::proof_tracker::ProofTracker; use crate::types::{CUGroups, PhysicalCoreGroups}; const PROOF_POLL_LIMIT: usize = 50; -const WS_PING_PERIOD_SEC: u64 = 20; +const WS_PING_PERIOD_SEC: u64 = 10; #[derive(Clone)] struct OnChainWorker { From 9bc3faea26e69766277d12766cff21377c169a1d Mon Sep 17 00:00:00 2001 From: Aleksey Proshutinskiy Date: Tue, 17 Sep 2024 20:53:01 +0300 Subject: [PATCH 3/3] Update crates/chain-listener/src/listener.rs Co-authored-by: folex <0xdxdy@gmail.com> --- crates/chain-listener/src/listener.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/chain-listener/src/listener.rs b/crates/chain-listener/src/listener.rs index b9d99f3fcb..c13df02079 100644 --- a/crates/chain-listener/src/listener.rs +++ b/crates/chain-listener/src/listener.rs @@ -71,6 +71,7 @@ use crate::proof_tracker::ProofTracker; use crate::types::{CUGroups, PhysicalCoreGroups}; const PROOF_POLL_LIMIT: usize = 50; +// TODO: move to config const WS_PING_PERIOD_SEC: u64 = 10; #[derive(Clone)]