69 Commits

Author SHA1 Message Date
Hayden Stainsby
485ca3e37c
stream: add track_caller to public APIs (#4786)
Functions that may panic can be annotated with `#[track_caller]` so that
in the event of a panic, the function where the user called the
panicking function is shown instead of the file and line within Tokio
source.

This change adds `#[track_caller]` to all the non-unstable public APIs
in tokio-stream (only `chunks_timeout` in `StreamExt`) where the
documentation describes how this function may panic due to incorrect
input.

A test has been included to cover the panic.

Refs: #4413
2022-06-22 17:27:23 +00:00
Richard Zak
f26ce08f37
chore: fix spelling (#4769)
Signed-off-by: Richard Zak <richard@profian.com>
2022-06-15 16:06:50 +00:00
jefftt
7011a68343
time: add StreamExt::chunks_timeout (#4695) 2022-06-06 16:16:50 +02:00
Alice Ryhl
89ccf2ad2b
chore: prepare tokio-stream 0.1.9 (#4743) 2022-06-04 22:04:21 +02:00
Gus Wynn
05cbfae177
stream: add cancel-safety docs to StreamExt::next and try_next (#4715) 2022-05-27 10:28:29 +02:00
Stepan Koltsov
3652f71ade
sync: add Clone to RecvError types (#4560) 2022-04-06 15:26:45 +02:00
Adam Cigánek
7d3b9d73ff
stream: expose Timout (#4601) 2022-04-06 15:17:58 +02:00
Alisue
014be71cca
stream: expose Elapsed error (#4502) 2022-03-02 13:53:21 +01:00
Kestrer
9c688ecdc3
util: add lifetime parameter to ReusableBoxFuture (#3762)
Co-authored-by: Toby Lawrence <toby@nuclearfurnace.com>
2022-02-09 14:29:21 -05:00
Carl Lerche
49fff47111
chore: increase MSRV to 1.49. (#4457)
Rust 1.49 was released on December 31, 2020, which meets our MSRV policy
of a minimum of 6 months.
2022-01-31 13:26:12 -08:00
Gabriel Grubba
b09899832c
stream: fix disabled tests (#4441) 2022-01-28 17:30:07 +01:00
Carl Lerche
986b88b3f1
chore: update year in LICENSE files (#4429) 2022-01-27 13:36:21 -08:00
Braulio Valdivielso Martínez
fb35c83944
tokio-stream: add StreamExt::map_while (#4351)
Fixes #4337

Rust 1.57 stabilized the `Iterator::map_while` API. This PR adds the
same functionality to the `StreamExt` trait, to keep parity.
2021-12-31 22:53:09 +09:00
Alice Ryhl
dda8da75d0
stream: add StreamExt::then (#4355) 2021-12-30 15:28:13 +01:00
Toby Lawrence
4b6bb1d9a7
chore(util): start v0.7 release cycle (#4313)
* chore(util): start v0.7 release cycle

Signed-off-by: Toby Lawrence <toby@nuclearfurnace.com>
2021-12-10 13:16:17 -05:00
David Pedersen
3b339024f0
stream: impl Extend for StreamMap (#4272)
## Motivation

This allows `StreamMap` to be used with [`futures::stream::StreamExt::collect`][collect].

My use case is something like this:

```rust
let stream_map: StreamMap<_, _> = things
    .into_iter()
    .map(|thing| make_stream(thing)) // iterator of futures
    .collect::<FuturesUnordered<_>>() // stream of streams
    .collect::<StreamMap<_, _>>() // combine all the inner streams into one
    .await;

async fn make_stream(thing: Thing) -> impl Stream { ... }
```

[collect]: https://docs.rs/futures/0.3.17/futures/stream/trait.StreamExt.html#method.collect

## Solution

Add `Extend` impl that delegates to the inner `Vec`.
2021-11-23 11:54:06 +01:00
Taiki Endo
1a423b3322
chore: remove doc URL from Cargo.toml (#4251)
https://doc.rust-lang.org/cargo/reference/manifest.html#the-documentation-field

> If no URL is specified in the manifest file, crates.io will
> automatically link your crate to the corresponding docs.rs page.
2021-11-23 11:53:32 +01:00
Taiki Endo
a8b662f643
ci: upgrade to new nightly (#4268) 2021-11-23 19:29:57 +09:00
Taiki Endo
cf3206842c
chore: bump MSRV to 1.46 (#4254) 2021-11-23 12:09:24 +09:00
Taiki Endo
fe770dc509
chore: fix newly added warnings (#4253) 2021-11-22 18:40:57 +09:00
Alice Ryhl
d1a400912e
chore: prepare tokio-stream 0.1.8 (#4198) 2021-10-29 18:34:43 +02:00
Colin Walters
e1c8b5a159
tests: add #[cfg(sync)] to watch test (#4183) 2021-10-21 09:11:14 +02:00
Francis Murillo
909d3ec0ff
stream: add From<Receiver<T>> impl for receiver streams (#4080) 2021-08-29 16:30:13 +02:00
Nylonicious
84f6845bf2
stream: impl FromIterator for StreamMap (#4052) 2021-08-24 13:21:02 +02:00
Alice Ryhl
175d84e2b1
chore: fix doc failure in CI on master (#4020) 2021-08-03 09:07:38 +02:00
Alice Ryhl
69a6585429
signal: make windows docs for signal module show up on unix builds (#3770) 2021-08-02 20:55:17 +02:00
Alice Ryhl
5d61c997e9
chore: prepare tokio-stream 0.1.7 (#3923) 2021-07-07 10:58:51 +02:00
Blas Rodriguez Irizar
4818c2ed05
fs: document performance considerations (#3920) 2021-07-06 16:25:13 +02:00
oiovoyo
2e7de1ae1d
stream: modify HashMap to StreamMap in example. (#3925) 2021-07-05 16:10:55 +02:00
Alice Ryhl
37e60fc7f9
chore: fix new clippy complaint (#3915) 2021-07-05 09:58:49 +02:00
Alice Ryhl
8170e2787c
sync: fix watch wrapper (#3914) 2021-07-02 23:24:02 +02:00
Taiki Endo
08ed41f339
chore: fix typos (#3907) 2021-07-01 02:06:56 +09:00
Alice Ryhl
38204f5fba
time: fix Timeout size_hint (#3902) 2021-06-29 20:06:10 +02:00
Taiki Endo
9d8b37d51a
macros: suppress clippy::default_numeric_fallback lint in generated code (#3831) 2021-06-02 18:16:23 +09:00
Folyd
f3ed064a26
chore: update *::{max, min}_value() to const *::MAX and *::MIN respectively (#3794) 2021-05-17 12:31:58 +02:00
Alice Ryhl
aaa150d211
chore: prepare tokio-stream v0.1.6 (#3785) 2021-05-14 18:22:44 +02:00
John-John Tedro
2c5dc83019
cargo: path dependencies for all tokio things (#3764) 2021-05-08 12:54:30 +02:00
Taiki Endo
c4b6b130f3
chore: bump nightly to nightly-2021-04-25 (#3754) 2021-05-05 17:39:17 +02:00
Chế Vũ Gia Hy
a945ce0996
stream: implement Error and Display for BroadcastStreamRecvError (#3745) 2021-05-05 11:15:42 +02:00
Marco Ieni
a08ce0d3e0
ci: check docs of private items (#3715) 2021-04-30 13:25:50 +02:00
Nylonicious
8fc49dc522
chore: update years in all licenses (#3665) 2021-03-30 21:45:13 +02:00
Taiki Endo
7384813979
chore: update proptest to 1 (#3653) 2021-03-27 19:34:11 +09:00
Kai Jewson
69b129b405
stream: avoid yielding in AllFuture and AnyFuture (#3625) 2021-03-21 09:34:18 +01:00
David Pedersen
b4918adbd8
chore: prepare tokio-stream v0.1.5 (#3624) 2021-03-20 12:17:37 +01:00
Jake Ham
6919f7cede
test: Make Mock both Send and Sync (#3594)
Co-authored-by: Jake Ham <hamjacob@amazon.com>
2021-03-10 14:29:22 -05:00
Matthew James Briggs
8c5cde9bc3
stream: documentation note for throttle Unpin (#3600) 2021-03-10 08:39:43 +01:00
Alice Ryhl
88863a0c5d
chore: prepare tokio-stream v0.1.4 (#3598) 2021-03-09 22:10:57 +01:00
nickelc
704de8c01b
stream: remove duplicate doc(test(..)) & cfg_attr declarations (#3571) 2021-03-06 20:54:28 +09:00
Thomas Orozco
47be928444
sync: yield initial value in WatchStream (#3576) 2021-03-05 21:35:12 +01:00
Pirmin Kalberer
fd93ecf5e0
stream: remove duplicate doc_cfg declaration (#3561) 2021-02-27 22:47:26 +01:00