From 5d6ecb8065026b8ab86d18b7d0a972dcb22935b4 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sat, 2 Mar 2024 11:18:38 +0000 Subject: [PATCH] Tiny refactor for stream types --- crates/librqbit/src/session.rs | 18 +++++++++++------- crates/librqbit/src/type_aliases.rs | 4 ++-- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/crates/librqbit/src/session.rs b/crates/librqbit/src/session.rs index ac37de2..c3bb138 100644 --- a/crates/librqbit/src/session.rs +++ b/crates/librqbit/src/session.rs @@ -24,7 +24,11 @@ use bencode::{bencode_serialize_to_writer, BencodeDeserializer}; use buffers::{ByteBuf, ByteBufT, ByteString}; use clone_to_owned::CloneToOwned; use dht::{Dht, DhtBuilder, DhtConfig, Id20, PersistentDht, PersistentDhtConfig}; -use futures::{future::BoxFuture, stream::FuturesUnordered, FutureExt, Stream, TryFutureExt}; +use futures::{ + future::BoxFuture, + stream::{BoxStream, FuturesUnordered}, + FutureExt, Stream, TryFutureExt, +}; use itertools::Itertools; use librqbit_core::{ directories::get_configuration_directory, @@ -247,13 +251,13 @@ fn compute_only_files( } fn merge_two_optional_streams( - s1: Option + Send + Unpin + 'static>, - s2: Option + Send + Unpin + 'static>, -) -> Option + Send + Unpin + 'static>> { + s1: Option + Send + 'static>, + s2: Option + Send + 'static>, +) -> Option> { match (s1, s2) { - (Some(s1), None) => Some(Box::new(s1)), - (None, Some(s2)) => Some(Box::new(s2)), - (Some(s1), Some(s2)) => Some(Box::new(s1.chain(s2))), + (Some(s1), None) => Some(Box::pin(s1)), + (None, Some(s2)) => Some(Box::pin(s2)), + (Some(s1), Some(s2)) => Some(Box::pin(s1.chain(s2))), (None, None) => None, } } diff --git a/crates/librqbit/src/type_aliases.rs b/crates/librqbit/src/type_aliases.rs index d68f5bc..e163fbe 100644 --- a/crates/librqbit/src/type_aliases.rs +++ b/crates/librqbit/src/type_aliases.rs @@ -1,8 +1,8 @@ use std::net::SocketAddr; -use futures::Stream; +use futures::stream::BoxStream; pub type BF = bitvec::vec::BitVec; pub type PeerHandle = SocketAddr; -pub type PeerStream = Box + Unpin + Send + 'static>; +pub type PeerStream = BoxStream<'static, SocketAddr>;