Skip to content

Commit 5583150

Browse files
authored
chore(deps): bump interprocess and others (paradigmxyz#8982)
1 parent f571183 commit 5583150

File tree

11 files changed

+150
-263
lines changed

11 files changed

+150
-263
lines changed

Cargo.lock

Lines changed: 40 additions & 158 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -409,11 +409,11 @@ serde_with = "3.3.0"
409409
humantime = "2.1"
410410
humantime-serde = "1.1"
411411
rand = "0.8.5"
412-
rustc-hash = "1.1.0"
412+
rustc-hash = "2.0"
413413
schnellru = "0.2"
414414
strum = "0.26"
415415
rayon = "1.7"
416-
itertools = "0.12"
416+
itertools = "0.13"
417417
parking_lot = "0.12"
418418
modular-bitfield = "0.11.2"
419419
once_cell = "1.17"
@@ -494,6 +494,7 @@ proptest-derive = "0.4"
494494
serial_test = "3"
495495
similar-asserts = "1.5.0"
496496
test-fuzz = "5"
497+
iai-callgrind = "0.11"
497498

498499
[patch.crates-io]
499500
revm = { git = "https://github.com/bluealloy/revm.git", rev = "41e2f7f" }

crates/rpc/ipc/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ tracing.workspace = true
2929
bytes.workspace = true
3030
thiserror.workspace = true
3131
futures-util = "0.3.30"
32-
interprocess = { version = "1.2.1", features = ["tokio_support"] }
32+
interprocess = { version = "2.2.0", features = ["tokio"] }
3333

3434
[dev-dependencies]
3535
tokio-stream = { workspace = true, features = ["sync"] }

crates/rpc/ipc/src/client/mod.rs

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
//! [`jsonrpsee`] transport adapter implementation for IPC.
22
33
use crate::stream_codec::StreamCodec;
4-
use futures::StreamExt;
5-
use interprocess::local_socket::tokio::{LocalSocketStream, OwnedReadHalf, OwnedWriteHalf};
4+
use futures::{StreamExt, TryFutureExt};
5+
use interprocess::local_socket::{
6+
tokio::{prelude::*, RecvHalf, SendHalf},
7+
GenericFilePath,
8+
};
69
use jsonrpsee::{
710
async_client::{Client, ClientBuilder},
811
core::client::{ReceivedMessage, TransportReceiverT, TransportSenderT},
912
};
1013
use std::io;
1114
use tokio::io::AsyncWriteExt;
12-
use tokio_util::{
13-
codec::FramedRead,
14-
compat::{Compat, FuturesAsyncReadCompatExt, FuturesAsyncWriteCompatExt},
15-
};
15+
use tokio_util::codec::FramedRead;
1616

1717
/// Sending end of IPC transport.
1818
#[derive(Debug)]
1919
pub(crate) struct Sender {
20-
inner: Compat<OwnedWriteHalf>,
20+
inner: SendHalf,
2121
}
2222

2323
#[async_trait::async_trait]
@@ -44,7 +44,7 @@ impl TransportSenderT for Sender {
4444
/// Receiving end of IPC transport.
4545
#[derive(Debug)]
4646
pub(crate) struct Receiver {
47-
pub(crate) inner: FramedRead<Compat<OwnedReadHalf>, StreamCodec>,
47+
pub(crate) inner: FramedRead<RecvHalf, StreamCodec>,
4848
}
4949

5050
#[async_trait::async_trait]
@@ -63,20 +63,17 @@ impl TransportReceiverT for Receiver {
6363
pub(crate) struct IpcTransportClientBuilder;
6464

6565
impl IpcTransportClientBuilder {
66-
pub(crate) async fn build(
67-
self,
68-
endpoint: impl AsRef<str>,
69-
) -> Result<(Sender, Receiver), IpcError> {
70-
let endpoint = endpoint.as_ref().to_string();
71-
let conn = LocalSocketStream::connect(endpoint.clone())
66+
pub(crate) async fn build(self, path: &str) -> Result<(Sender, Receiver), IpcError> {
67+
let conn = async { path.to_fs_name::<GenericFilePath>() }
68+
.and_then(LocalSocketStream::connect)
7269
.await
73-
.map_err(|err| IpcError::FailedToConnect { path: endpoint, err })?;
70+
.map_err(|err| IpcError::FailedToConnect { path: path.to_string(), err })?;
7471

75-
let (rhlf, whlf) = conn.into_split();
72+
let (recv, send) = conn.split();
7673

7774
Ok((
78-
Sender { inner: whlf.compat_write() },
79-
Receiver { inner: FramedRead::new(rhlf.compat(), StreamCodec::stream_incoming()) },
75+
Sender { inner: send },
76+
Receiver { inner: FramedRead::new(recv, StreamCodec::stream_incoming()) },
8077
))
8178
}
8279
}
@@ -92,14 +89,14 @@ impl IpcClientBuilder {
9289
/// ```
9390
/// use jsonrpsee::{core::client::ClientT, rpc_params};
9491
/// use reth_ipc::client::IpcClientBuilder;
92+
///
9593
/// # async fn run_client() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
9694
/// let client = IpcClientBuilder::default().build("/tmp/my-uds").await?;
9795
/// let response: String = client.request("say_hello", rpc_params![]).await?;
98-
/// # Ok(())
99-
/// # }
96+
/// # Ok(()) }
10097
/// ```
101-
pub async fn build(self, path: impl AsRef<str>) -> Result<Client, IpcError> {
102-
let (tx, rx) = IpcTransportClientBuilder::default().build(path).await?;
98+
pub async fn build(self, name: &str) -> Result<Client, IpcError> {
99+
let (tx, rx) = IpcTransportClientBuilder::default().build(name).await?;
103100
Ok(self.build_with_tokio(tx, rx))
104101
}
105102

@@ -139,20 +136,24 @@ pub enum IpcError {
139136

140137
#[cfg(test)]
141138
mod tests {
142-
use crate::server::dummy_endpoint;
143-
use interprocess::local_socket::tokio::LocalSocketListener;
139+
use interprocess::local_socket::ListenerOptions;
144140

145141
use super::*;
142+
use crate::server::dummy_name;
146143

147144
#[tokio::test]
148145
async fn test_connect() {
149-
let endpoint = dummy_endpoint();
150-
let binding = LocalSocketListener::bind(endpoint.clone()).unwrap();
146+
let name = &dummy_name();
147+
148+
let binding = ListenerOptions::new()
149+
.name(name.as_str().to_fs_name::<GenericFilePath>().unwrap())
150+
.create_tokio()
151+
.unwrap();
151152
tokio::spawn(async move {
152153
let _x = binding.accept().await;
153154
});
154155

155-
let (tx, rx) = IpcTransportClientBuilder::default().build(endpoint).await.unwrap();
156+
let (tx, rx) = IpcTransportClientBuilder::default().build(name).await.unwrap();
156157
let _ = IpcClientBuilder::default().build_with_tokio(tx, rx);
157158
}
158159
}

0 commit comments

Comments
 (0)