Skip to content

Commit 0e5b23c

Browse files
committed
capnp-futures: Use more fine-grained futures-* deps
The large futures crate pulls in a bunch of sub-crates that capnp-futures does not need. We can instead use only the subcrates that are actually required. Signed-off-by: Jens Reidel <[email protected]>
1 parent 049958e commit 0e5b23c

File tree

5 files changed

+18
-12
lines changed

5 files changed

+18
-12
lines changed

capnp-futures/Cargo.toml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,16 @@ keywords = ["async"]
1414
[dependencies]
1515
capnp = { version = "0.20.0", path = "../capnp" }
1616

17-
[dependencies.futures]
17+
[dependencies.futures-channel]
1818
version = "0.3.0"
1919
default-features = false
2020
features = ["std"]
2121

22+
[dependencies.futures-util]
23+
version = "0.3.0"
24+
default-features = false
25+
features = ["io", "std"]
26+
2227
[dev-dependencies.futures]
2328
version = "0.3.0"
2429
default-features = false

capnp-futures/src/read_stream.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1919
// THE SOFTWARE.
2020

21-
use futures::future::Future;
22-
use futures::stream::Stream;
23-
use futures::AsyncRead;
21+
use std::future::Future;
2422
use std::pin::Pin;
2523
use std::task::{Context, Poll};
2624

2725
use capnp::{message, Error};
26+
use futures_util::stream::Stream;
27+
use futures_util::AsyncRead;
2828

2929
async fn read_next_message<R>(
3030
mut reader: R,

capnp-futures/src/serialize.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@
2525
2626
use capnp::serialize::{OwnedSegments, SegmentLengthsBuilder};
2727
use capnp::{message, Error, OutputSegments, Result};
28-
29-
use futures::{AsyncRead, AsyncReadExt, AsyncWrite, AsyncWriteExt};
28+
use futures_util::{AsyncRead, AsyncReadExt, AsyncWrite, AsyncWriteExt};
3029

3130
/// Asynchronously reads a message from `reader`.
3231
pub async fn read_message<R>(

capnp-futures/src/serialize_packed.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ use std::task::{Context, Poll};
2727

2828
use capnp::serialize::OwnedSegments;
2929
use capnp::{message, Result};
30-
use futures::{AsyncRead, AsyncWrite};
30+
use futures_util::{AsyncRead, AsyncWrite};
3131

3232
use crate::serialize::AsOutputSegments;
3333

capnp-futures/src/write_queue.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@
1818
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1919
// THE SOFTWARE.
2020

21-
use futures::channel::oneshot;
22-
use futures::future::Future;
23-
use futures::{AsyncWrite, AsyncWriteExt, StreamExt, TryFutureExt};
21+
use std::future::Future;
22+
23+
use futures_channel::oneshot;
24+
use futures_util::{AsyncWrite, AsyncWriteExt, StreamExt, TryFutureExt};
2425

2526
use capnp::Error;
2627

@@ -33,12 +34,13 @@ where
3334
Message(M, oneshot::Sender<M>),
3435
Done(Result<(), Error>, oneshot::Sender<()>),
3536
}
37+
3638
/// A handle that allows messages to be sent to a write queue.
3739
pub struct Sender<M>
3840
where
3941
M: AsOutputSegments,
4042
{
41-
sender: futures::channel::mpsc::UnboundedSender<Item<M>>,
43+
sender: futures_channel::mpsc::UnboundedSender<Item<M>>,
4244
in_flight: std::sync::Arc<std::sync::atomic::AtomicI32>,
4345
}
4446

@@ -65,7 +67,7 @@ where
6567
W: AsyncWrite + Unpin,
6668
M: AsOutputSegments,
6769
{
68-
let (tx, mut rx) = futures::channel::mpsc::unbounded::<Item<M>>();
70+
let (tx, mut rx) = futures_channel::mpsc::unbounded::<Item<M>>();
6971

7072
let in_flight = std::sync::Arc::new(std::sync::atomic::AtomicI32::new(0));
7173

0 commit comments

Comments
 (0)