Skip to content

Commit 84ec7ed

Browse files
authored
optimize and upgrade dependencies (#387)
- futures-test is moved to dev dependencies - depend on futures-core and futures-channel instead of all of futures - move (and upgrade) rand to mac-only dependencies
1 parent ff67b55 commit 84ec7ed

File tree

4 files changed

+20
-17
lines changed

4 files changed

+20
-17
lines changed

Cargo.toml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,27 +26,30 @@ harness = false
2626
[features]
2727
default = []
2828
force-inprocess = []
29-
async = ["futures", "futures-test"]
29+
async = ["dep:futures-core", "dep:futures-channel"]
3030
win32-trace = []
3131

3232
[dependencies]
3333
bincode = "1"
3434
crossbeam-channel = "0.5"
3535
fnv = "1.0.3"
36-
futures = { version = "0.3", optional = true }
37-
futures-test = { version = "0.3", optional = true }
36+
futures-channel = { version = "0.3.31", optional = true }
37+
futures-core = { version = "0.3.31", optional = true }
3838
lazy_static = "1"
3939
libc = "0.2.162"
40-
rand = "0.8"
4140
serde = { version = "1.0", features = ["rc"] }
4241
uuid = { version = "1", features = ["v4"] }
4342

4443
[target.'cfg(any(target_os = "linux", target_os = "openbsd", target_os = "freebsd", target_os = "illumos"))'.dependencies]
45-
mio = { version = "1.0", features = ["os-ext"] }
44+
mio = { version = "1.0", default-features = false, features = ["os-ext"] }
4645
tempfile = "3.4"
4746

47+
[target.'cfg(target_os = "macos")'.dependencies]
48+
rand = "0.9"
49+
4850
[dev-dependencies]
4951
crossbeam-utils = "0.8"
52+
futures-test = "0.3"
5053
static_assertions = "1.1.0"
5154
criterion = { version = "0.5", features = ["html_reports"] }
5255

src/asynch.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
use crate::ipc::{
1111
self, IpcMessage, IpcReceiver, IpcReceiverSet, IpcSelectionResult, IpcSender, OpaqueIpcReceiver,
1212
};
13-
use futures::channel::mpsc::UnboundedReceiver;
14-
use futures::channel::mpsc::UnboundedSender;
15-
use futures::stream::FusedStream;
16-
use futures::task::Context;
17-
use futures::task::Poll;
18-
use futures::Stream;
13+
use futures_channel::mpsc::UnboundedReceiver;
14+
use futures_channel::mpsc::UnboundedSender;
15+
use futures_core::stream::FusedStream;
16+
use futures_core::task::Context;
17+
use futures_core::task::Poll;
18+
use futures_core::Stream;
1919
use lazy_static::lazy_static;
2020
use serde::Deserialize;
2121
use serde::Serialize;
@@ -44,7 +44,7 @@ struct Router {
4444
// so we only end up with one routing thread per process.
4545
lazy_static! {
4646
static ref ROUTER: Router = {
47-
let (send, mut recv) = futures::channel::mpsc::unbounded();
47+
let (send, mut recv) = futures_channel::mpsc::unbounded();
4848
let (waker, wakee) = ipc::channel().expect("Failed to create IPC channel");
4949
thread::spawn(move || {
5050
let mut receivers = IpcReceiverSet::new().expect("Failed to create receiver set");
@@ -86,7 +86,7 @@ where
8686
/// Convert this IPC receiver into a stream.
8787
pub fn to_stream(self) -> IpcStream<T> {
8888
let opaque = self.to_opaque();
89-
let (send, recv) = futures::channel::mpsc::unbounded();
89+
let (send, recv) = futures_channel::mpsc::unbounded();
9090
let _ = ROUTER.add_route.unbounded_send((opaque, send));
9191
if let Ok(waker) = ROUTER.wakeup.lock() {
9292
let _ = waker.send(());

src/platform/macos/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ impl OsIpcReceiver {
267267
let mut os_result;
268268
let mut name;
269269
loop {
270-
name = format!("{}{}", BOOTSTRAP_PREFIX, rand::thread_rng().gen::<i64>());
270+
name = format!("{}{}", BOOTSTRAP_PREFIX, rand::rng().random::<i64>());
271271
let c_name = CString::new(name.clone()).unwrap();
272272
os_result = bootstrap_register2(bootstrap_port, c_name.as_ptr(), right, 0);
273273
if os_result == BOOTSTRAP_NAME_IN_USE {

src/test.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -706,9 +706,9 @@ fn transfer_closed_sender() {
706706
#[cfg(feature = "async")]
707707
#[test]
708708
fn test_receiver_stream() {
709-
use futures::task::Context;
710-
use futures::task::Poll;
711-
use futures::Stream;
709+
use futures_core::task::Context;
710+
use futures_core::task::Poll;
711+
use futures_core::Stream;
712712
use std::pin::Pin;
713713
let (tx, rx) = ipc::channel().unwrap();
714714
let (waker, count) = futures_test::task::new_count_waker();

0 commit comments

Comments
 (0)