From 2e3eafaa116fe2f217767af4412463103c77ae3c Mon Sep 17 00:00:00 2001 From: Bruno Date: Wed, 23 Feb 2022 18:33:32 +0100 Subject: [PATCH] RPC Client: Use Tokio's RwLock instead of std to make using in async easier (#23299) --- client/src/nonblocking/rpc_client.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/client/src/nonblocking/rpc_client.rs b/client/src/nonblocking/rpc_client.rs index e32f1d946a..1a35d85f15 100644 --- a/client/src/nonblocking/rpc_client.rs +++ b/client/src/nonblocking/rpc_client.rs @@ -52,10 +52,9 @@ use { cmp::min, net::SocketAddr, str::FromStr, - sync::RwLock, time::{Duration, Instant}, }, - tokio::time::sleep, + tokio::{sync::RwLock, time::sleep}, }; /// A client of a remote Solana node. @@ -442,12 +441,12 @@ impl RpcClient { } async fn get_node_version(&self) -> Result { - let r_node_version = self.node_version.read().unwrap(); + let r_node_version = self.node_version.read().await; if let Some(version) = &*r_node_version { Ok(version.clone()) } else { drop(r_node_version); - let mut w_node_version = self.node_version.write().unwrap(); + let mut w_node_version = self.node_version.write().await; let node_version = self.get_version().await.map_err(|e| { RpcError::RpcRequestError(format!("cluster version query failed: {}", e)) })?;