209 Commits

Author SHA1 Message Date
r-zig
5756a005a6
codec: LinesCodec should only return MaxLineLengthExceeded once per line (#3556) 2021-02-25 23:21:59 +01:00
r-zig
c9d2a36c7b
codec: AnyDelimiter codec (#3406) 2021-02-23 16:56:11 +01:00
Taiki Endo
36d7dab504
chore: remove html_root_url (#3489)
Co-authored-by: Alice Ryhl <alice@ryhl.io>
2021-02-18 14:11:39 -08:00
Alice Ryhl
60d88840f4
chore: prepare tokio-util v0.6.3 (#3488) 2021-01-31 12:39:22 +01:00
Alice Ryhl
ee1f0c473f
util: remove tokio-stream dependency from tokio-util (#3487) 2021-01-31 11:08:40 +01:00
Rob Ede
06d6adf4b7
util: use ReusableBoxFuture for PollSemaphore (#3463) 2021-01-30 10:57:04 +01:00
Alice Ryhl
891aba5f71
util: add ReusableBoxFuture utility (#3464) 2021-01-30 00:03:01 +01:00
Alice Ryhl
198363f4f1
chore: prepare tokio-util 0.6.2 (#3453) 2021-01-21 11:46:50 +01:00
William Bain
c4f66ed121
util: fix panics on updating DelayQueue entries (#3270) 2021-01-21 10:56:44 +01:00
Alice Ryhl
27b2d681e6
util: add pollable Semaphore (#3444) 2021-01-20 09:53:31 +01:00
Taiki Endo
d37486dd06
util: remove path deps (#3413)
* util: remove path deps

* ci: run clippy with --all-features

* ci: run tests with --all-features on FreeBSD CI
2021-01-13 00:19:57 +09:00
Daiki Mizukami
ed667c669a
chore: prepare tokio-util v0.6.1 release (#3402) 2021-01-12 12:46:07 +01:00
David Raifaizen
2fe2f0401b
util: expose FramedWrite/Framed::write_buffer/write_buffer_mut 2021-01-08 23:20:07 +01:00
Rust大闸蟹
e42317b072
chore: remove macro_rules semicolon (#3381)
fix build warning
2021-01-06 15:46:37 +09:00
Daiki Mizukami
36918e05e5
util: add more get_{ref,mut,pin_mut} methods (#3364)
This commit adds:

- Framed::get_pin_mut
- FramedRead::get_pin_mut
- FramedWrite::get_pin_mut
- StreamReader::get_ref
- StreamReader::get_mut
- StreamReader::get_pin_mut
- StreamReader::into_inner
2021-01-01 13:05:15 +01:00
Carl Lerche
a66017f049
chore: prepare Tokio 1.0 release (#3319) 2020-12-23 09:26:14 -08:00
Paolo Barbolini
aa6597ba66
compat: update traits naming to match tokio 1.0 (#3324) 2020-12-23 09:15:56 -08:00
Taiki Endo
ce0e9c67cf
chore: Revert "use #[non_exhaustive] instead of private unit field" (#3323)
This reverts commit 575938d4579e6fe6a89b700aadb0ae2bbab5483b.
2020-12-23 08:27:58 -08:00
Taiki Endo
575938d457
chore: use #[non_exhaustive] instead of private unit field (#3320) 2020-12-23 22:48:33 +09:00
Luke Steensen
a8dda19da4
chore: update to released bytes 1.0 (#3317) 2020-12-22 17:09:26 -08:00
Carl Lerche
2893359988
chore: update to bytes 1.0 git branch (#3301)
Updates the code base to track the `bytes` git branch. This is in
preparation for the 1.0 release.

Closes #3058
2020-12-19 15:57:16 -08:00
Carl Lerche
5e5f513542
chore: remove some left over stream feature code (#3300)
Removes the `stream` feature flag from `Cargo.toml` and removes the
`futures-core` dependency. Once `Stream` lands in `std`, a feature flag
is most likely not needed.
2020-12-19 14:15:00 -08:00
Alice Ryhl
78f2340d25
tokio: remove prelude (#3299)
Closes: #3257
2020-12-19 11:42:24 -08:00
Alice Ryhl
3ecaf9fd9a
codec: write documentation for codec (#3283)
Co-authored-by: Lucio Franco <luciofranco14@gmail.com>
2020-12-18 21:32:27 +01:00
Carl Lerche
d74d17307d
time: remove Box from Sleep (#3278)
Removes the box from `Sleep`, taking advantage of intrusive wakers. The
`Sleep` future is now `!Unpin`.

Closes #3267
2020-12-16 21:51:34 -08:00
Lucio Franco
8efa62013b
Move stream items into tokio-stream (#3277)
This change removes all references to `Stream` from
within the `tokio` crate and moves them into a new
`tokio-stream` crate. Most types have had their
`impl Stream` removed as well in-favor of their
inherent methods.

Closes #2870
2020-12-15 20:24:38 -08:00
Joshua Nelson
48961fac89
Document SinkExt and other futures traits on docs.rs (#3271)
These are extremely hard to find if you don't already know they exist.
2020-12-14 10:28:36 -05:00
Alice Ryhl
c1ec469ad2
util: add constructors to TokioContext (#3221) 2020-12-11 20:41:22 -08:00
Nylonicious
16c2e0983c
net: Pass SocketAddr by value (#3125) 2020-12-10 14:58:27 -05:00
Carl Lerche
473ddaa277
chore: prepare for Tokio 1.0 work (#3238) 2020-12-09 09:42:05 -08:00
Eliza Weisman
00500d1b35
util: prepare v0.5.1 release (#3210)
### Added

- io: `poll_read_buf` util fn (#2972).
- io: `poll_write_buf` util fn with vectored write support (#3156).

Signed-off-by: Eliza Weisman <eliza@buoyant.io>
2020-12-03 15:30:52 -08:00
Eliza Weisman
647299866a
util: add writev-aware poll_write_buf (#3156)
## Motivation

In Tokio 0.2, `AsyncRead` and `AsyncWrite` had `poll_write_buf` and
`poll_read_buf` methods for reading and writing to implementers of
`bytes` `Buf` and `BufMut` traits. In 0.3, these were removed, but
`poll_read_buf` was added as a free function in `tokio-util`. However,
there is currently no `poll_write_buf`.

Now that `AsyncWrite` has regained support for vectored writes in #3149,
there's a lot of potential benefit in having a `poll_write_buf` that
uses vectored writes when supported and non-vectored writes when not
supported, so that users don't have to reimplement this.

## Solution

This PR adds a `poll_write_buf` function to `tokio_util::io`, analogous
to the existing `poll_read_buf` function.

This function writes from a `Buf` to an `AsyncWrite`, advancing the
`Buf`'s internal cursor. In addition, when the `AsyncWrite` supports
vectored writes (i.e. its `is_write_vectored` method returns `true`),
it will use vectored IO.

I copied the documentation for this functions from the docs from Tokio
0.2's `AsyncWrite::poll_write_buf` , with some minor modifications as
appropriate.

Finally, I fixed a minor issue in the existing docs for `poll_read_buf`
and `read_buf`, and updated `tokio_util::codec` to use `poll_write_buf`.

Signed-off-by: Eliza Weisman <eliza@buoyant.io>
2020-12-03 11:19:16 -08:00
Alice Ryhl
c55d846f4b
util: add rt to tokio-util full feature (#3194) 2020-11-29 09:48:31 +01:00
漂流
874fc3320b
codec: add read_buffer_mut to FramedRead (#3166) 2020-11-24 09:39:16 +01:00
bdonlan
ae67851f11
time: use intrusive lists for timer tracking (#3080)
More-or-less a half-rewrite of the current time driver, supporting the
use of intrusive futures for timer registration.

Fixes: #3028, #3069
2020-11-23 10:42:50 -08:00
cssivision
49abfdb2ac
util: fix typo in udp/frame.rs (#3154) 2020-11-20 15:06:14 +09:00
Taiki Endo
60366ca0fa
chore: update pin-project-lite to 0.2.0 (#3139) 2020-11-13 15:24:06 -08:00
Evan Cameron
47658a6da5
util: resurrect UdpFramed (#3044) 2020-11-06 16:59:15 +01:00
Akira Hayakawa
e309da0bee
util: remove stream feature flag from DelayQueue (#3087) 2020-11-03 09:20:24 +01:00
Naja Melan
4a7b7c52d1
util: copy paste error in documentation for Compat (#3088) 2020-11-02 13:25:51 +01:00
Dirkjan Ochtman
2b23aa7389
util: add back public poll_read_buf() function (#3079)
This was accidentally removed in #3064.
2020-11-01 10:22:22 +01:00
Carl Lerche
24ed874e81
chore: prepare tokio-util v0.5.0 release (#3078) 2020-10-30 11:26:15 -07:00
Dirkjan Ochtman
3965d91a5e
util: update to bytes 0.6 (#3071)
Copies the implementation of poll_read_buf() from tokio::io::util::read_buf.
2020-10-29 10:45:19 -07:00
Dirkjan Ochtman
a3ef4e4cf5
util: deduplicate implementations of poll_read_buf() (#3064) 2020-10-29 13:20:38 +01:00
Carl Lerche
d78655337a
Revert "util: upgrade tokio-util to bytes 0.6 (#3052)" (#3060)
This reverts commit fe2b997.

We are avoiding adding poll_read_buf to tokio itself for now. The patch is
reverted now in order to not block the v0.3.2 release (#3059).
2020-10-27 13:42:00 -07:00
Dirkjan Ochtman
fe2b997675
util: upgrade tokio-util to bytes 0.6 (#3052) 2020-10-27 09:30:29 +01:00
John-John Tedro
6d99e1c7de
util: prevent read buffer from being swapped during a read_poll (#2993) 2020-10-20 11:14:02 +02:00
John-John Tedro
8d17261a4b
util: add a poll_read_buf shim to tokio-util (#2972) 2020-10-19 11:06:06 +02:00
Carl Lerche
dc9742fbea
chore: post release Cargo.toml fixes (#2963) 2020-10-15 11:46:10 -07:00
Carl Lerche
12f1dffa2d
chore: prepare for v0.3.0 release (#2960) 2020-10-15 09:22:07 -07:00