Commit c04c4fc3 authored by Jim Newsome's avatar Jim Newsome
Browse files

Merge branch 'move-stream-peek' into 'main'

Move stream_peek into tor-async-utils

See merge request tpo/core/arti!2357
parents 996d8f7f 2a118862
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -4975,11 +4975,14 @@ dependencies = [
name = "tor-async-utils"
version = "0.21.0"
dependencies = [
 "educe",
 "futures",
 "futures-await-test",
 "pin-project",
 "postage",
 "tokio",
 "tor-rtcompat",
 "tor-rtmock",
 "void",
]

@@ -5860,7 +5863,6 @@ dependencies = [
 "tor-linkspec",
 "tor-llcrypto",
 "tor-log-ratelim",
 "tor-memquota",
 "tor-rtcompat",
 "tor-rtmock",
 "tor-units",
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@ members = [
    "crates/hashx",
    "crates/equix",
    "crates/tor-basic-utils",
    "crates/tor-async-utils",
    "crates/caret",
    "crates/fs-mistrust",
    "crates/safelog",
@@ -27,6 +26,7 @@ members = [
    "crates/tor-geoip",
    "crates/tor-rtcompat",
    "crates/tor-rtmock",
    "crates/tor-async-utils",
    "crates/tor-config",
    "crates/tor-log-ratelim",
    "crates/tor-rpcbase",
+3 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ categories = ["rust-patterns"]
repository = "https://gitlab.torproject.org/tpo/core/arti.git/"

[dependencies]
educe = "0.4.6"
futures = "0.3.14"
pin-project = "1"
postage = { version = "0.5.0", default-features = false, features = ["futures-traits"] }
@@ -21,6 +22,8 @@ void = "1"
[dev-dependencies]
futures-await-test = "0.3.0"
tokio = { version = "1.7", features = ["macros", "net", "rt", "rt-multi-thread", "time"] }
tor-rtcompat = { version = "0.21.0", path = "../tor-rtcompat" }
tor-rtmock = { path = "../tor-rtmock", version = "0.21.0" }

[features]
full = []
+1 −0
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ mod sinkext;
mod watch;

pub mod peekable_stream;
pub mod stream_peek;

pub use join_read_write::*;

+12 −2
Original line number Diff line number Diff line
@@ -8,10 +8,17 @@

#![allow(dead_code)] // TODO #351

use tor_async_utils::peekable_stream::{PeekableStream, UnobtrusivePeekableStream};
use educe::Educe;
use futures::stream::FusedStream;
use futures::task::noop_waker_ref;
use futures::Stream;
use pin_project::pin_project;

use crate::internal_prelude::*;
use crate::peekable_stream::{PeekableStream, UnobtrusivePeekableStream};

use std::fmt::Debug;
use std::future::Future;
use std::pin::Pin;
use std::task::{Context, Poll, Poll::*, Waker};

/// Wraps [`Stream`] and provides `\[poll_]peek` and `unobtrusive_peek`
@@ -365,7 +372,10 @@ mod test {
    //! <!-- @@ end test lint list maintained by maint/add_warning @@ -->

    use super::*;
    use futures::channel::mpsc;
    use futures::{SinkExt as _, StreamExt as _};
    use std::pin::pin;
    use std::sync::{Arc, Mutex};
    use std::time::Duration;
    use tor_rtcompat::SleepProvider as _;
    use tor_rtmock::MockRuntime;
Loading