Skip to content
This repository was archived by the owner on Jan 22, 2025. It is now read-only.

Commit 2e3eafa

Browse files
authored
RPC Client: Use Tokio's RwLock instead of std to make using in async easier (#23299)
1 parent 2996f1f commit 2e3eafa

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

client/src/nonblocking/rpc_client.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,9 @@ use {
5252
cmp::min,
5353
net::SocketAddr,
5454
str::FromStr,
55-
sync::RwLock,
5655
time::{Duration, Instant},
5756
},
58-
tokio::time::sleep,
57+
tokio::{sync::RwLock, time::sleep},
5958
};
6059

6160
/// A client of a remote Solana node.
@@ -442,12 +441,12 @@ impl RpcClient {
442441
}
443442

444443
async fn get_node_version(&self) -> Result<semver::Version, RpcError> {
445-
let r_node_version = self.node_version.read().unwrap();
444+
let r_node_version = self.node_version.read().await;
446445
if let Some(version) = &*r_node_version {
447446
Ok(version.clone())
448447
} else {
449448
drop(r_node_version);
450-
let mut w_node_version = self.node_version.write().unwrap();
449+
let mut w_node_version = self.node_version.write().await;
451450
let node_version = self.get_version().await.map_err(|e| {
452451
RpcError::RpcRequestError(format!("cluster version query failed: {}", e))
453452
})?;

0 commit comments

Comments
 (0)