2672 Commits

Author SHA1 Message Date
我就像屎的倒影
7f26ad85c2
fmt: ignore the target dir when formatting (#4145)
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2021-10-04 08:36:17 +02:00
Alice Ryhl
d39c9ed9dc
chore: prepare tokio-macros 1.4.1 (#4142)
This reverts commit 33f0a1fd2e5dd2c9f8bc3066fda38911828d26f5.
tokio-macros-1.4.1
2021-09-30 10:38:52 +02:00
Noah Kennedy
44cfe10ee5
chore: prepare tokio-macros 1.4.0 (#4139) tokio-macros-1.4.0 2021-09-29 23:30:47 +02:00
Frank Steffahn
1073f6e8be
sync: expand Debug for Mutex<T> impl to unsized T (#4134) 2021-09-26 12:29:08 +02:00
Kai Jewson
dee3236c97
sync: add watch::Sender::send_replace (#3962) 2021-09-25 22:06:40 +02:00
Noah Kennedy
d9ca1517c6
net: add try_*, readable, writable, ready, and peer_addr methods to split halves (#4120) 2021-09-25 20:19:29 +02:00
你好-肚财
6c1a1d9b07
docs: add returning on the first error example for try_join! (#4133) 2021-09-25 16:04:38 +02:00
Arthur Gautier
d32acd97eb
net: add poll_{recv,send}_ready methods to udp and uds_datagram (#4131) 2021-09-24 20:28:18 +02:00
João Marcos Bezerra
7875f26586
docs: fixing broken links in tokio/src/lib.rs (#4132) 2021-09-24 11:16:30 +02:00
我就像屎的倒影
7ce8f05cff
sync: add blocking_lock to Mutex (#4130) 2021-09-23 11:46:14 +02:00
Sean McArthur
ea19606bc4
sync: fix Notify to clone the waker before locking its waiter list (#4129)
Since a waker can trigger arbitrary code, such as with a custom waker,
and even more so now that it can emit a tracing event that could do
respond, we must be careful about the internal state when that code is
triggered. The clone method of a waker is one of those instances.

This changes the internals of `Notify` so that the waker is cloned
*before* locking the waiter list. While this does mean that in some
contended cases, we'll have made an optimistic clone, it makes `Notify`
more robust and correct.

Note that the included test case is built from an instance that did
happen naturally in another project, see
https://github.com/tokio-rs/console/issues/133.
2021-09-23 08:33:14 +02:00
Zahari Dichev
b9b59e4f15
tracing: use structured location fields for spawned tasks (#4128)
This change enables `tokio-console` to parse the location information
for a spawned task into a structured object rather than simply displaying
this info as a field on the task.

Signed-off-by: Zahari Dichev <zaharidichev@gmail.com>
2021-09-22 23:17:41 +03:00
Suika
cdc46a9ded
io: add assert in copy_bidirectional that poll_write is sensible (#4125) 2021-09-22 10:06:51 +02:00
Zahari Dichev
b9834f6d8b
tracing: instrument time::Sleep (#4072)
This branch instruments the `Sleep` resource to allow the tokio-console
to consume data about resources usage. The corresponding console branch
is here: https://github.com/tokio-rs/console/pull/77

Signed-off-by: Zahari Dichev <zaharidichev@gmail.com>
2021-09-22 08:34:41 +03:00
Alice Ryhl
1ed89aa5cf
chore: prepare Tokio v1.12.0 (#4123) tokio-1.12.0 2021-09-21 17:15:22 +02:00
Andrew Hlynskyi
d9b2dc81ca
task: improve JoinHandle::abort cancellation doc (#4121) 2021-09-21 10:20:03 +02:00
Alice Ryhl
8e54145c8b
ci: make loom tests optional (#4112) 2021-09-20 21:52:35 +02:00
Alice Ryhl
279e8b001a
sync: document spurious failures on poll_recv (#4117) 2021-09-19 09:52:40 +02:00
Alan Briolat
e9f6faee67
mpsc: ensure try_reserve error is consistent with try_send (#4119) 2021-09-19 09:52:28 +02:00
Alice Ryhl
f1b89675eb
mpsc: use spin_loop_hint instead of yield_now (#4115) 2021-09-18 09:27:25 +02:00
Alice Ryhl
ddd33f2b05
sync: implement try_recv for mpsc channels (#4113) 2021-09-18 09:27:16 +02:00
Alan Somers
8e92f05795
io: update the mio-aio dev-dependency (#4116) 2021-09-18 09:25:52 +02:00
Simon Farnsworth
957ed3eac0
runtime: callback when a worker parks and unparks (#4070) 2021-09-16 11:44:30 +02:00
Alice Ryhl
ab34805849
time: more docs on advance (#4103) 2021-09-15 19:22:24 +02:00
Alan Somers
8b298d9ed4
io: add POSIX AIO on FreeBSD (#4054) 2021-09-15 18:55:50 +02:00
Andrew Lamb
57563e218b
docs: clarify CPU-bound tasks on Tokio (#4105) 2021-09-15 14:07:52 +02:00
Ben Noordhuis
33f0a1fd2e
macros: run runtime inside LocalSet when using macro (#4027) 2021-09-15 11:25:02 +02:00
Alice Ryhl
4c9b469562
sync: PollSender impls Sink (#4110) 2021-09-14 22:39:52 +02:00
Thibeau Vercruyssen
7af0f32751
io: add convenience method AsyncSeekExt::rewind. (#4107) 2021-09-14 16:05:01 +02:00
Milo
3fe1662e4b
ci: caching for CI (#4108) 2021-09-14 09:40:04 +02:00
Nylonicious
a73428252b
util: update README (#4099) 2021-09-10 08:55:03 +02:00
Alice Ryhl
b99eedc2ea
sync: make SendError field public (#4097) 2021-09-09 19:13:26 +02:00
Sean McArthur
6ebd0575e4
runtime: add tracing span for block_on futures (#4094) 2021-09-09 08:58:21 -07:00
Alice Ryhl
7e51b44a20
task: document non-guarantees of yield_now (#4091) 2021-09-08 12:02:25 +02:00
Alice Ryhl
bd1e4aaea6
chore: add Debug to NotDefinedHere (#4092) 2021-09-08 12:02:07 +02:00
Alice Ryhl
fd22164f5d
ci: disable benchmarks in CI (#4090) 2021-09-08 10:52:40 +02:00
Pablo Sichert
98e78a6f7b
codec: implement Clone for LengthDelimitedCodec (#4089) 2021-09-07 13:51:35 +02:00
Toby Lawrence
01a6feb0dc
chore: prepare tokio-util v0.6.8 (#4087)
Signed-off-by: Toby Lawrence <toby@nuclearfurnace.com>
tokio-util-0.6.8
2021-09-03 10:57:27 -04:00
Jorge Leitao
e31e06c5c2
compat: added AsyncSeek compat (#4078) 2021-09-03 08:54:40 +02:00
ttys3
d0dd74a058
io: add with_capacity for ReaderStream (#4086) 2021-09-02 09:53:23 +02:00
Alice Ryhl
6778a7def6
time: document paused time details better (#4061) 2021-09-01 18:49:50 +02:00
Alice Ryhl
9a97eb36bc
chore: prepare Tokio v1.11.0 (#4083) tokio-1.11.0 2021-08-31 23:26:42 +02:00
Alice Ryhl
1409041525
io: fix fill_buf by not calling poll_fill_buf twice (#4084) 2021-08-31 23:25:52 +02:00
Toby Lawrence
23b0aee5dd
tokio-util: expose key used in DelayQueue's Expired (#4081)
Signed-off-by: Toby Lawrence <toby@nuclearfurnace.com>
2021-08-31 17:09:10 -04:00
Francis Murillo
909d3ec0ff
stream: add From<Receiver<T>> impl for receiver streams (#4080) 2021-08-29 16:30:13 +02:00
Alan Somers
b67d46403f
process: skip the process_kill_on_drop test if bash is not installed. (#4079) 2021-08-29 10:59:58 +02:00
Alice Ryhl
98578a6f4a
stats: initial work on runtime stats (#4043) 2021-08-27 11:40:41 +02:00
Alice Ryhl
8a097d27b5
util: add safety comment to assume_init (#4075) 2021-08-26 23:06:58 +02:00
Eliza Weisman
1e2e38b7cd
sync: use WakeList in Notify and batch_semaphore (#4071)
## Motivation

PR #4055 added a new `WakeList` type, to manage a potentially
uninitialized array when waking batches of wakers. This has the
advantage of not initializing a bunch of empty `Option`s when only a
small number of tasks are being woken, potentially improving performance
in these cases.

Currently, `WakeList` is used only in the IO driver. However,
`tokio::sync` contains some code that's almost identical to the code in
the IO driver that was replaced with `WakeList`, so we can apply the
same optimizations there.

## Solution

This branch changes `tokio::sync::Notify` and
`tokio::sync::batch_semaphore::Semaphore` to use `WakeList` when waking
batches of wakers. This was a pretty straightforward drop-in
replacement.

Signed-off-by: Eliza Weisman <eliza@buoyant.io>
2021-08-26 11:33:22 -07:00
Fedorenko Dmitrij
80bda3bf5f
macros: fix wrong error messages (#4067) 2021-08-25 19:59:41 +02:00