From 38152710468753e6c967ec57910fe387fccfac9e Mon Sep 17 00:00:00 2001 From: Gris Ge Date: Tue, 27 Jan 2026 15:41:12 +0800 Subject: [PATCH] Cargo: Use `futures-util` and `futures-channel` to replace `futures` crate The `futures` crate contains more than we needs, this patch use `futures-channel` and `futures-channel` instead. Signed-off-by: Gris Ge --- Cargo.toml | 3 ++- examples/dump_channels.rs | 2 +- examples/dump_coalesce.rs | 2 +- examples/dump_eeprom_page.rs | 2 +- examples/dump_features.rs | 2 +- examples/dump_fec.rs | 2 +- examples/dump_link_mode.rs | 2 +- examples/dump_pause.rs | 2 +- examples/dump_rings.rs | 2 +- examples/dump_tsinfo.rs | 2 +- src/channel/get.rs | 2 +- src/channel/set.rs | 2 +- src/coalesce/get.rs | 2 +- src/connection.rs | 2 +- src/eeprom/get.rs | 2 +- src/feature/get.rs | 2 +- src/fec/get.rs | 2 +- src/handle.rs | 9 +++++---- src/link_mode/get.rs | 2 +- src/pause/get.rs | 2 +- src/ring/get.rs | 2 +- src/tsinfo/get.rs | 2 +- tests/dump_link_modes.rs | 2 +- tests/get_features_lo.rs | 2 +- 24 files changed, 29 insertions(+), 27 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index bf78861..b910057 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,7 +21,8 @@ smol_socket = ["netlink-proto/smol_socket", "async-std"] [dependencies] async-std = { version = "1.13.0", optional = true} -futures = "0.3.31" +futures-util = "0.3.11" +futures-channel = "0.3.11" log = "0.4.26" genetlink = { default-features = false, version = "0.2.6"} netlink-packet-core = { version = "0.8.0"} diff --git a/examples/dump_channels.rs b/examples/dump_channels.rs index ab32dfd..605dc19 100644 --- a/examples/dump_channels.rs +++ b/examples/dump_channels.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::stream::TryStreamExt; +use futures_util::stream::TryStreamExt; // Once we find a way to load netsimdev kernel module in CI, we can convert this // to a test diff --git a/examples/dump_coalesce.rs b/examples/dump_coalesce.rs index af5b285..22387ff 100644 --- a/examples/dump_coalesce.rs +++ b/examples/dump_coalesce.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::stream::TryStreamExt; +use futures_util::stream::TryStreamExt; // Once we find a way to load netsimdev kernel module in CI, we can convert this // to a test diff --git a/examples/dump_eeprom_page.rs b/examples/dump_eeprom_page.rs index 98bed4d..3c6389b 100644 --- a/examples/dump_eeprom_page.rs +++ b/examples/dump_eeprom_page.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::stream::TryStreamExt; +use futures_util::stream::TryStreamExt; fn main() { let rt = tokio::runtime::Builder::new_current_thread() diff --git a/examples/dump_features.rs b/examples/dump_features.rs index e9398b1..0540f6a 100644 --- a/examples/dump_features.rs +++ b/examples/dump_features.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::stream::TryStreamExt; +use futures_util::stream::TryStreamExt; // Once we find a way to load netsimdev kernel module in CI, we can convert this // to a test diff --git a/examples/dump_fec.rs b/examples/dump_fec.rs index bc68be4..18de147 100644 --- a/examples/dump_fec.rs +++ b/examples/dump_fec.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::stream::TryStreamExt; +use futures_util::stream::TryStreamExt; // Once we find a way to load netsimdev kernel module in CI, we can convert this // to a test diff --git a/examples/dump_link_mode.rs b/examples/dump_link_mode.rs index 6ea8e15..f9e6bec 100644 --- a/examples/dump_link_mode.rs +++ b/examples/dump_link_mode.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::stream::TryStreamExt; +use futures_util::stream::TryStreamExt; // Once we find a way to load netsimdev kernel module in CI, we can convert this // to a test diff --git a/examples/dump_pause.rs b/examples/dump_pause.rs index 4274ca1..4f75b9e 100644 --- a/examples/dump_pause.rs +++ b/examples/dump_pause.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::stream::TryStreamExt; +use futures_util::stream::TryStreamExt; // Once we find a way to load netsimdev kernel module in CI, we can convert this // to a test diff --git a/examples/dump_rings.rs b/examples/dump_rings.rs index fa19505..75c405b 100644 --- a/examples/dump_rings.rs +++ b/examples/dump_rings.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::stream::TryStreamExt; +use futures_util::stream::TryStreamExt; // Once we find a way to load netsimdev kernel module in CI, we can convert this // to a test diff --git a/examples/dump_tsinfo.rs b/examples/dump_tsinfo.rs index 4e22318..2f4c628 100644 --- a/examples/dump_tsinfo.rs +++ b/examples/dump_tsinfo.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::stream::TryStreamExt; +use futures_util::stream::TryStreamExt; // Once we find a way to load netsimdev kernel module in CI, we can convert this // to a test diff --git a/src/channel/get.rs b/src/channel/get.rs index 2ebe54f..5a28324 100644 --- a/src/channel/get.rs +++ b/src/channel/get.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::TryStream; +use futures_util::TryStream; use netlink_packet_generic::GenlMessage; use crate::{ethtool_execute, EthtoolError, EthtoolHandle, EthtoolMessage}; diff --git a/src/channel/set.rs b/src/channel/set.rs index 80a6cea..e983fe0 100644 --- a/src/channel/set.rs +++ b/src/channel/set.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::StreamExt; +use futures_util::StreamExt; use netlink_packet_core::{NetlinkMessage, NLM_F_ACK, NLM_F_REQUEST}; use netlink_packet_generic::GenlMessage; diff --git a/src/coalesce/get.rs b/src/coalesce/get.rs index 0f6b598..baf0faa 100644 --- a/src/coalesce/get.rs +++ b/src/coalesce/get.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::TryStream; +use futures_util::TryStream; use netlink_packet_generic::GenlMessage; use crate::{ethtool_execute, EthtoolError, EthtoolHandle, EthtoolMessage}; diff --git a/src/connection.rs b/src/connection.rs index 8987d99..15ccde5 100644 --- a/src/connection.rs +++ b/src/connection.rs @@ -2,7 +2,7 @@ use std::io; -use futures::channel::mpsc::UnboundedReceiver; +use futures_channel::mpsc::UnboundedReceiver; use genetlink::message::RawGenlMessage; use netlink_packet_core::NetlinkMessage; use netlink_proto::Connection; diff --git a/src/eeprom/get.rs b/src/eeprom/get.rs index 226ea58..677b7cd 100644 --- a/src/eeprom/get.rs +++ b/src/eeprom/get.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::TryStream; +use futures_util::TryStream; use netlink_packet_generic::GenlMessage; use crate::{ethtool_execute, EthtoolError, EthtoolHandle, EthtoolMessage}; diff --git a/src/feature/get.rs b/src/feature/get.rs index 98958b3..89b07a7 100644 --- a/src/feature/get.rs +++ b/src/feature/get.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::TryStream; +use futures_util::TryStream; use netlink_packet_generic::GenlMessage; use crate::{ethtool_execute, EthtoolError, EthtoolHandle, EthtoolMessage}; diff --git a/src/fec/get.rs b/src/fec/get.rs index 996a942..7ec440f 100644 --- a/src/fec/get.rs +++ b/src/fec/get.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::TryStream; +use futures_util::TryStream; use netlink_packet_generic::GenlMessage; use crate::{ethtool_execute, EthtoolError, EthtoolHandle, EthtoolMessage}; diff --git a/src/handle.rs b/src/handle.rs index 83c7afe..feba8d4 100644 --- a/src/handle.rs +++ b/src/handle.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::{future::Either, FutureExt, Stream, StreamExt, TryStream}; +use futures_util::{future::Either, FutureExt, Stream, StreamExt, TryStream}; use genetlink::GenetlinkHandle; use netlink_packet_core::DecodeError; use netlink_packet_core::{ @@ -106,9 +106,10 @@ pub(crate) async fn ethtool_execute( Either::Left(response.map(move |msg| Ok(try_ethtool!(msg)))) } Err(e) => Either::Right( - futures::future::err::, EthtoolError>( - e, - ) + futures_util::future::err::< + GenlMessage, + EthtoolError, + >(e) .into_stream(), ), } diff --git a/src/link_mode/get.rs b/src/link_mode/get.rs index 3d5245d..256a53f 100644 --- a/src/link_mode/get.rs +++ b/src/link_mode/get.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::TryStream; +use futures_util::TryStream; use netlink_packet_generic::GenlMessage; use crate::{ethtool_execute, EthtoolError, EthtoolHandle, EthtoolMessage}; diff --git a/src/pause/get.rs b/src/pause/get.rs index 2d8e784..5f7ae94 100644 --- a/src/pause/get.rs +++ b/src/pause/get.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::TryStream; +use futures_util::TryStream; use netlink_packet_generic::GenlMessage; use crate::{ethtool_execute, EthtoolError, EthtoolHandle, EthtoolMessage}; diff --git a/src/ring/get.rs b/src/ring/get.rs index f5d0a32..fba6965 100644 --- a/src/ring/get.rs +++ b/src/ring/get.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::TryStream; +use futures_util::TryStream; use netlink_packet_generic::GenlMessage; use crate::{ethtool_execute, EthtoolError, EthtoolHandle, EthtoolMessage}; diff --git a/src/tsinfo/get.rs b/src/tsinfo/get.rs index a9ee159..f65de30 100644 --- a/src/tsinfo/get.rs +++ b/src/tsinfo/get.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::TryStream; +use futures_util::TryStream; use netlink_packet_generic::GenlMessage; use crate::{ethtool_execute, EthtoolError, EthtoolHandle, EthtoolMessage}; diff --git a/tests/dump_link_modes.rs b/tests/dump_link_modes.rs index 82a2929..0f631a8 100644 --- a/tests/dump_link_modes.rs +++ b/tests/dump_link_modes.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::stream::TryStreamExt; +use futures_util::stream::TryStreamExt; #[test] // CI container normally have a veth for external communication which support diff --git a/tests/get_features_lo.rs b/tests/get_features_lo.rs index a5c78b6..1cd3903 100644 --- a/tests/get_features_lo.rs +++ b/tests/get_features_lo.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -use futures::stream::TryStreamExt; +use futures_util::stream::TryStreamExt; #[test] fn test_get_features_of_loopback() {