2528 Commits

Author SHA1 Message Date
Alice Ryhl
38204f5fba
time: fix Timeout size_hint (#3902) 2021-06-29 20:06:10 +02:00
Jacob Rothstein
8fa29cb00a
rt: add tokio::task::Builder (#3881)
Adds a builder API for spawning tasks. Initially, this enables the caller to name the spawned
task in order to provide better visibility into all tasks in the system.
2021-06-29 10:47:30 -07:00
Alice Ryhl
b521cc2689
doc: document cancellation safety (#3900)
This patch documents cancellation safety. It also moves the "Avoid racy if preconditions"
section in the select! documentation since otherwise the first code block on the page
shows how not to use it, which seems counterintuitive.
2021-06-29 10:35:42 -07:00
Jake Shadle
57c90c9750
net: add read/try_read etc methods to NamedPipeServer (#3899) 2021-06-29 10:05:20 +02:00
Mikail Bagishov
d35ff7064f
sync: add drop guard for cancellation token (#3839) 2021-06-28 12:34:58 +02:00
Milo
ab0791b817
time: add wait alias to sleep (#3897) 2021-06-28 10:48:07 +02:00
Jake Shadle
959c5c997f
net: add ready/try methods to NamedPipeClient (#3866) 2021-06-28 10:43:57 +02:00
sb64
845626410a
sync: implement From<T> for OnceCell<T> (#3877) 2021-06-22 15:11:01 +02:00
Carl Lerche
3207479fa7
Merge branch 'tokio-1.7.x' into merge-1.7.1 2021-06-18 16:37:21 -07:00
Carl Lerche
7601dc6d2a
rt: avoid early task shutdown (#3870)
Tokio 1.7.0 introduced a change intended to eagerly shutdown newly
spawned tasks if the runtime is in the process of shutting down.
However, it introduced a bug where already spawned tasks could be
shutdown too early, resulting in the potential introduction of deadlocks
if tasks acquired mutexes in drop handlers.

Fixes #3869
tokio-1.7.1
2021-06-18 16:32:53 -07:00
Alice Ryhl
d1aa2df80e
sync: add Receiver::borrow_and_update (#3813) 2021-06-16 18:42:05 +02:00
sb64
e979ad7f2d
time: allow users to specify Interval behavior when delayed (#3721) 2021-06-16 13:51:27 +02:00
sb64
5ad3dd3378
time: document auto-advancing behavior of runtime (#3763) 2021-06-16 13:51:12 +02:00
teor
60bd40d529
time: fix typo in Instant::saturating_duration_since docs (#3864) 2021-06-16 12:50:30 +02:00
brain0
4a93af4d25
io: add get_{ref,mut} methods to AsyncFdReadyGuard and AsyncFdReadyMutGuard. (#3807) 2021-06-16 12:45:05 +02:00
Alice Ryhl
34c6a26c01
chore: prepare Tokio v1.7.0 (#3863) tokio-1.7.0 2021-06-15 19:39:33 +02:00
John-John Tedro
97e7830364
net: provide NamedPipe{Client, Server} types and builders (#3760)
This builds on https://github.com/tokio-rs/mio/pull/1351 and introduces the
tokio::net::windows::named_pipe module which provides low level types for
building and communicating asynchronously over windows named pipes.

Named pipes require the `net` feature flag to be enabled on Windows.

Co-authored-by: Alice Ryhl <alice@ryhl.io>
2021-06-15 08:13:31 +02:00
Carl Lerche
606206ecad
Merge branch 'tokio-1.6.x' into merge-1.6.x 2021-06-14 17:51:30 -07:00
Carl Lerche
dfe4013ff2
chore: prepare Tokio 1.6.2 release (#3859) tokio-1.6.2 2021-06-14 17:50:34 -07:00
Carl Lerche
18779aa2e2
time: fix time::advance() with sub-ms durations (#3852)
Instead of using sleep in time::advance, this fixes the root of the issue. When futures passed
to `Runtime::block_on` are woken, it bypassed all the machinery around advancing time. By
intercepting wakes in the time driver, we know when the block_on task is woken and skip
advancing time in that case.

Fixes #3837
2021-06-14 16:36:04 -07:00
Alan Somers
2c24a028f6
chore: re-enable test_socket_pair on FreeBSD (#3844)
It was disabled due to an OS bug that has been fixed on all currently
supported releases of FreeBSD
2021-06-14 13:14:35 -07:00
Sean McArthur
f55b77aadd
tracing: emit waker op as str instead as Debug (#3853) 2021-06-14 10:37:24 -07:00
Yotam Ofek
21de476ae7
sync: export sync::notify::Notified future publicly (#3840) 2021-06-14 10:05:34 +02:00
Alice Ryhl
cb147a2b3f
sync: deprecate mpsc::RecvError (#3833) 2021-06-11 11:01:34 +02:00
Bart Pelle
f759240254
chore: update version in README.md (#3851) 2021-06-11 11:01:22 +02:00
AtulJatia
2e44cd29df
net: TcpSocket from std::net::TcpStream (#3838) 2021-06-11 10:58:58 +02:00
Oğuz Bilgener
2ab1fb00a9
sync: add examples to Semaphore (#3808) 2021-06-11 10:46:16 +02:00
Evan Mesterhazy
d16e50639a
doc: clarify EOF condition for AsyncReadExt::read_buf (#3850) 2021-06-09 15:00:32 +02:00
Sean McArthur
e7d74b3119
tracing: instrument task wakers (#3836)
## Motivation

In support of tokio-rs/console#37, we want to understand when a specific task's waker has been interacted with, such as when it is awoken, or if it's forgotten (not cloned), etc.

## Solution

When the tracing feature is enabled, a super trait of Future (InstrumentedFuture) is implemented for Instrumented<F> that allows grabbing the task's ID (well, its span ID), and stores that in the raw task trailer. The waker vtable then emits events and includes that ID.
2021-06-08 14:50:40 -07:00
Tony Han
d101feac50
runtime: fix typo in task state doc (#3835) 2021-06-04 22:31:04 +02:00
Taiki Endo
9d8b37d51a
macros: suppress clippy::default_numeric_fallback lint in generated code (#3831) 2021-06-02 18:16:23 +09:00
James Hallowell
d4c89758fc
sync: fix spelling mistake in mpsc::Sender docs (#3828) 2021-06-01 09:56:34 +02:00
Taiki Endo
932be12481
ci: ignore private crates in minimal-versions check (#3827) 2021-05-31 23:39:06 +09:00
Edward Shen
bdd6765016
doc: clarify limits on return values of AsyncWrite::poll_write (#3820) 2021-05-31 19:55:55 +09:00
Carl Lerche
8f6d8b25bf
chore: add FUNDING.yml (#3824)
Reference Tokio sponsorship
2021-05-28 13:55:16 -07:00
Carl Lerche
eb7aee980c
Merge branch 'tokio-1.6.x' into merge-1.6.1 2021-05-28 10:04:08 -07:00
Alice Ryhl
1baea398c4 chore: prepare Tokio v1.6.1 tokio-1.6.1 2021-05-28 09:59:28 -07:00
Alice Ryhl
3fbcf1ba50 Revert "fs: try doing a non-blocking read before punting to the threadpool (#3518)"
This reverts commit 39706b198c6cacfb23544bad8b7c144471ee4efa.
2021-05-28 09:59:28 -07:00
j-vanderstoep
21264f1d33
tcp: assign an unused port (#3817) 2021-05-28 09:03:27 +02:00
Rafael Bachmann
81ee3d202a
doc: fix minor doc typo (stray backtick) (#3814) 2021-05-26 14:23:39 +02:00
Alice Ryhl
a39e6c2439
runtime: immediately drop new task when runtime is shut down (#3752) 2021-05-26 10:24:56 +02:00
Petros Angelatos
4abeca7bc5
io: impl AsyncSeek for BufStream (#3810)
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2021-05-26 07:11:47 +09:00
GITSRC
5ed84e1cd8
doc: update README.md (#3806) 2021-05-21 09:55:53 +02:00
Lucio Franco
44a070d1b4
doc: add missing backtick (#3799) 2021-05-19 10:14:08 +02:00
Aaron Taner
ce9ca45c92
doc: fix invalid #[doc(inline)] warnings on latest nightly. (#3788)
This commit fixed issue #3787 by removing [doc(inline)] from
macro `cfg_macros` and added proper #[doc(inline)] attributes
to `pub use` items inside `cfg_macros` calls.

It's probably not `cfg_macros`s responsibility to inlining public
macros, though it's conveninent to do so. Notice that in lib.rs:

cfg_macros! {
    /// Implementation detail of the `select!` macro. This macro is **not**
    /// intended to be used as part of the public API and is permitted to
    /// change.
    #[doc(hidden)]
    pub use tokio_macros::select_priv_declare_output_enum;

    ...
}

`#[doc(hidden)]` and `#[doc(inline)]` are conflict with each other
in the sense of correctness.

Fixes: #3787
2021-05-18 01:28:17 +09:00
Folyd
f3ed064a26
chore: update *::{max, min}_value() to const *::MAX and *::MIN respectively (#3794) 2021-05-17 12:31:58 +02:00
Sören Meier
652f0ae728
sync: add receiver_count to watch::Sender (#3729) 2021-05-15 11:56:24 +02:00
Alice Ryhl
ff9b0ef7ca
chore: prepare tokio-test v0.4.2 (#3786) tokio-test-0.4.2 2021-05-14 18:24:13 +02:00
Alice Ryhl
aaa150d211
chore: prepare tokio-stream v0.1.6 (#3785) tokio-stream-0.1.6 2021-05-14 18:22:44 +02:00
Alice Ryhl
deb1f98125
chore: prepare tokio-util v0.6.7 (#3784) tokio-util-0.6.7 2021-05-14 18:22:08 +02:00