From 225f046598399220cded7267ae0523d695f40e70 Mon Sep 17 00:00:00 2001 From: Yiannis Marangos Date: Mon, 15 Apr 2024 15:21:03 +0300 Subject: [PATCH] chore: Split `futures` dependencies (#40) --- Cargo.lock | 3 ++- Cargo.toml | 3 ++- src/client.rs | 8 ++++---- src/incoming_stream.rs | 6 +++--- src/lib.rs | 2 +- src/multihasher.rs | 2 +- src/server.rs | 4 ++-- src/utils.rs | 6 +++--- tests/bitswap.rs | 3 ++- tests/utils/mod.rs | 12 ++++++------ 10 files changed, 26 insertions(+), 23 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ca23a77..dca29a6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -491,8 +491,9 @@ dependencies = [ "cid", "clap", "fnv", - "futures", + "futures-core", "futures-timer", + "futures-util", "hex", "instant", "libp2p", diff --git a/Cargo.toml b/Cargo.toml index 556e3f1..3605707 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,8 +12,9 @@ blockstore = "0.4" bytes = "1" cid = "0.11" fnv = "1.0.5" -futures = "0.3" +futures-core = "0.3" futures-timer = "3" +futures-util = "0.3" instant = "0.1.12" libp2p-core = "0.41" libp2p-identity = "0.2" diff --git a/src/client.rs b/src/client.rs index 3841928..460e6e6 100644 --- a/src/client.rs +++ b/src/client.rs @@ -9,10 +9,10 @@ use asynchronous_codec::FramedWrite; use blockstore::{Blockstore, BlockstoreError}; use cid::CidGeneric; use fnv::{FnvHashMap, FnvHashSet}; -use futures::future::{AbortHandle, Abortable}; -use futures::stream::FuturesUnordered; -use futures::{FutureExt, SinkExt, StreamExt}; use futures_timer::Delay; +use futures_util::future::{AbortHandle, Abortable, FutureExt}; +use futures_util::sink::SinkExt; +use futures_util::stream::{FuturesUnordered, StreamExt}; use instant::Instant; use libp2p_core::upgrade::ReadyUpgrade; use libp2p_identity::PeerId; @@ -698,7 +698,7 @@ mod tests { use crate::Behaviour; use asynchronous_codec::FramedRead; use blockstore::InMemoryBlockstore; - use futures::future::{self, Either}; + use futures_util::future::{self, Either}; use libp2p_stream::IncomingStreams; use libp2p_swarm::Swarm; use libp2p_swarm_test::SwarmExt; diff --git a/src/incoming_stream.rs b/src/incoming_stream.rs index 2a0e6f8..28b458e 100644 --- a/src/incoming_stream.rs +++ b/src/incoming_stream.rs @@ -6,8 +6,8 @@ use std::task::{Context, Poll}; use asynchronous_codec::FramedRead; use cid::CidGeneric; use fnv::FnvHashMap; -use futures::future::{BoxFuture, Fuse, FusedFuture}; -use futures::{FutureExt, StreamExt}; +use futures_util::future::{BoxFuture, Fuse, FusedFuture, FutureExt}; +use futures_util::stream::StreamExt; use tracing::error; use crate::cid_prefix::CidPrefix; @@ -60,7 +60,7 @@ impl fmt::Debug for IncomingStream { } } -impl futures::Stream for IncomingStream { +impl futures_core::stream::Stream for IncomingStream { type Item = IncomingMessage; fn poll_next( diff --git a/src/lib.rs b/src/lib.rs index 8a4a538..40df100 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,7 +7,7 @@ use std::task::{ready, Context, Poll}; use blockstore::{Blockstore, BlockstoreError}; use cid::CidGeneric; use client::SendingState; -use futures::{stream::SelectAll, StreamExt}; +use futures_util::stream::{SelectAll, StreamExt}; use incoming_stream::IncomingMessage; use libp2p_core::{multiaddr::Multiaddr, upgrade::ReadyUpgrade, Endpoint}; use libp2p_identity::PeerId; diff --git a/src/multihasher.rs b/src/multihasher.rs index c8e11d8..a5d118d 100644 --- a/src/multihasher.rs +++ b/src/multihasher.rs @@ -13,7 +13,7 @@ use std::fmt::{self, Display}; use std::future::Future; use std::pin::Pin; -use futures::FutureExt; +use futures_util::future::FutureExt; use libp2p_core::multihash::Multihash; use multihash_codetable::MultihashDigest; diff --git a/src/server.rs b/src/server.rs index 96afd66..d194108 100644 --- a/src/server.rs +++ b/src/server.rs @@ -8,8 +8,8 @@ use asynchronous_codec::FramedWrite; use blockstore::{Blockstore, BlockstoreError}; use cid::CidGeneric; use fnv::{FnvHashMap, FnvHashSet}; -use futures::stream::FuturesUnordered; -use futures::{SinkExt, StreamExt}; +use futures_util::sink::SinkExt; +use futures_util::stream::{FuturesUnordered, StreamExt}; use libp2p_core::upgrade::ReadyUpgrade; use libp2p_identity::PeerId; use libp2p_swarm::{ diff --git a/src/utils.rs b/src/utils.rs index 0320310..4ddb960 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -3,7 +3,7 @@ use std::future::Future; use cid::CidGeneric; -use futures::FutureExt; +use futures_util::future::FutureExt; use libp2p_core::multihash::Multihash; use libp2p_swarm::StreamProtocol; @@ -33,7 +33,7 @@ pub(crate) fn stream_protocol( } #[cfg(not(target_arch = "wasm32"))] -pub(crate) type BoxFuture<'a, T> = futures::future::BoxFuture<'a, T>; +pub(crate) type BoxFuture<'a, T> = futures_core::future::BoxFuture<'a, T>; #[cfg(not(target_arch = "wasm32"))] pub(crate) fn box_future<'a, F, T>(f: F) -> BoxFuture<'a, T> @@ -44,7 +44,7 @@ where } #[cfg(target_arch = "wasm32")] -pub(crate) type BoxFuture<'a, T> = futures::future::LocalBoxFuture<'a, T>; +pub(crate) type BoxFuture<'a, T> = futures_core::future::LocalBoxFuture<'a, T>; #[cfg(target_arch = "wasm32")] pub(crate) fn box_future<'a, F, T>(f: F) -> BoxFuture<'a, T> diff --git a/tests/bitswap.rs b/tests/bitswap.rs index e90119f..0fcdfeb 100644 --- a/tests/bitswap.rs +++ b/tests/bitswap.rs @@ -1,5 +1,6 @@ use blockstore::{Blockstore, InMemoryBlockstore}; -use futures::{future::FutureExt, poll}; +use futures_util::future::FutureExt; +use futures_util::poll; use tokio::time::{sleep, Duration}; use crate::utils::{cid, spawn_node}; diff --git a/tests/utils/mod.rs b/tests/utils/mod.rs index 136e7e7..6cd87c9 100644 --- a/tests/utils/mod.rs +++ b/tests/utils/mod.rs @@ -1,13 +1,13 @@ +use std::future::Future; + use beetswap::{Error, Event, QueryId}; use blockstore::InMemoryBlockstore; use cid::CidGeneric; use fnv::FnvHashMap; -use futures::future::{Future, FutureExt}; -use libp2p::{ - futures::StreamExt, - swarm::{DialError, SwarmEvent}, - tcp, Multiaddr, PeerId, Swarm, SwarmBuilder, -}; +use futures_util::future::FutureExt; +use futures_util::stream::StreamExt; +use libp2p::swarm::{DialError, SwarmEvent}; +use libp2p::{tcp, Multiaddr, PeerId, Swarm, SwarmBuilder}; use multihash_codetable::{Code, MultihashDigest}; use tokio::select; use tokio::sync::{mpsc, oneshot};