tokio-1.22.0
版本发布时间: 2022-11-19 05:17:27
tokio-rs/tokio最新发布版本:tokio-1.40.0(2024-08-30 16:04:47)
Added
- runtime: add
Handle::runtime_flavor
(#5138) - sync: add
Mutex::blocking_lock_owned
(#5130) - sync: add
Semaphore::MAX_PERMITS
(#5144) - sync: add
merge()
to semaphore permits (#4948) - sync: add
mpsc::WeakUnboundedSender
(#5189)
Added (unstable)
- process: add
Command::process_group
(#5114) - runtime: export metrics about the blocking thread pool (#5161)
- task: add
task::id()
andtask::try_id()
(#5171)
Fixed
- macros: don't take ownership of futures in macros (#5087)
- runtime: fix Stacked Borrows violation in
LocalOwnedTasks
(#5099) - runtime: mitigate ABA with 32-bit queue indices when possible (#5042)
- task: wake local tasks to the local queue when woken by the same thread (#5095)
- time: panic in release mode when
mark_pending
called illegally (#5093) - runtime: fix typo in expect message (#5169)
- runtime: fix
unsync_load
on atomic types (#5175) - task: elaborate safety comments in task deallocation (#5172)
- runtime: fix
LocalSet
drop in thread local (#5179) - net: remove libc type leakage in a public API (#5191)
- runtime: update the alignment of
CachePadded
(#5106)
Changed
- io: make
tokio::io::copy
continue filling the buffer when writer stalls (#5066) - runtime: remove
coop::budget
fromLocalSet::run_until
(#5155) - sync: make
Notify
panic safe (#5154)
Documented
- io: fix doc for
write_i8
to use signed integers (#5040) - net: fix doc typos for TCP and UDP
set_tos
methods (#5073) - net: fix function name in
UdpSocket::recv
documentation (#5150) - sync: typo in
TryLockError
forRwLock::try_write
(#5160) - task: document that spawned tasks execute immediately (#5117)
- time: document return type of
timeout
(#5118) - time: document that
timeout
checks only before poll (#5126) - sync: specify return type of
oneshot::Receiver
in docs (#5198)
Internal changes
- runtime: use const
Mutex::new
for globals (#5061) - runtime: remove
Option
aroundmio::Events
in io driver (#5078) - runtime: remove a conditional compilation clause (#5104)
- runtime: remove a reference to internal time handle (#5107)
- runtime: misc time driver cleanup (#5120)
- runtime: move signal driver to runtime module (#5121)
- runtime: signal driver now uses I/O driver directly (#5125)
- runtime: start decoupling I/O driver and I/O handle (#5127)
- runtime: switch
io::handle
refs with scheduler:Handle (#5128) - runtime: remove Arc from I/O driver (#5134)
- runtime: use signal driver handle via
scheduler::Handle
(#5135) - runtime: move internal clock fns out of context (#5139)
- runtime: remove
runtime::context
module (#5140) - runtime: keep driver cfgs in
driver.rs
(#5141) - runtime: add
runtime::context
to unify thread-locals (#5143) - runtime: rename some confusing internal variables/fns (#5151)
- runtime: move
coop
mod intoruntime
(#5152) - runtime: move budget state to context thread-local (#5157)
- runtime: move park logic into runtime module (#5158)
- runtime: move
Runtime
into its own file (#5159) - runtime: unify entering a runtime with
Handle::enter
(#5163) - runtime: remove handle reference from each scheduler (#5166)
- runtime: move
enter
intocontext
(#5167) - runtime: combine context and entered thread-locals (#5168)
- runtime: fix accidental unsetting of current handle (#5178)
- runtime: move
CoreStage
methods toCore
(#5182) - sync: name mpsc semaphore types (#5146)