Loading Cargo.lock +3 −1 Original line number Diff line number Diff line Loading @@ -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", ] Loading Loading @@ -5860,7 +5863,6 @@ dependencies = [ "tor-linkspec", "tor-llcrypto", "tor-log-ratelim", "tor-memquota", "tor-rtcompat", "tor-rtmock", "tor-units", Loading Cargo.toml +1 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ members = [ "crates/hashx", "crates/equix", "crates/tor-basic-utils", "crates/tor-async-utils", "crates/caret", "crates/fs-mistrust", "crates/safelog", Loading @@ -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", Loading crates/tor-async-utils/Cargo.toml +3 −0 Original line number Diff line number Diff line Loading @@ -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"] } Loading @@ -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 = [] crates/tor-async-utils/src/lib.rs +1 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ mod sinkext; mod watch; pub mod peekable_stream; pub mod stream_peek; pub use join_read_write::*; Loading crates/tor-memquota/src/stream_peek.rs→crates/tor-async-utils/src/stream_peek.rs +12 −2 Original line number Diff line number Diff line Loading @@ -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` Loading Loading @@ -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 Loading
Cargo.lock +3 −1 Original line number Diff line number Diff line Loading @@ -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", ] Loading Loading @@ -5860,7 +5863,6 @@ dependencies = [ "tor-linkspec", "tor-llcrypto", "tor-log-ratelim", "tor-memquota", "tor-rtcompat", "tor-rtmock", "tor-units", Loading
Cargo.toml +1 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ members = [ "crates/hashx", "crates/equix", "crates/tor-basic-utils", "crates/tor-async-utils", "crates/caret", "crates/fs-mistrust", "crates/safelog", Loading @@ -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", Loading
crates/tor-async-utils/Cargo.toml +3 −0 Original line number Diff line number Diff line Loading @@ -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"] } Loading @@ -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 = []
crates/tor-async-utils/src/lib.rs +1 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ mod sinkext; mod watch; pub mod peekable_stream; pub mod stream_peek; pub use join_read_write::*; Loading
crates/tor-memquota/src/stream_peek.rs→crates/tor-async-utils/src/stream_peek.rs +12 −2 Original line number Diff line number Diff line Loading @@ -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` Loading Loading @@ -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