All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- worker_pool: Add scalable bounded/unbound worker pools which support async & blocking (under
workerfeature)
- orb-smol: Fix global flag broken in 0.11.0
- orb-smol: Remove SmolExec::new_global(), should use SmolRT::multi() instead.
-
AsyncRuntime: Refactor to Add static spawn method.
-
Add SmolExec & TokioExec to impl AsyncExec.
-
AsyncRuntime no longer inherit AsyncExec, instead it as associate type "Exec" of AsyncRuntime.
-
Move current()/one()/multi() will return AsyncExec.
-
Fix missing self in AsyncExec::spawn_blocking()
-
Rename trait AsyncHandle -> AsyncJoiner, ThreadHandle -> ThreadJoiner
-
orb-smol: Remove new_with_executor() because it does not ensure thread-local set
-
AsyncExecDyn is removed, because we can not use static method to spawn.
- AsyncExec: Add Clone()
- Remove blanket Deref inherit of AsyncRuntime/AsyncTime/AsyncIO/AsyncExec
- AsyncExec: Add current(), one(), multi() with unified tested behavior
- AsyncExecDyn: for spawn_detach with trait object
- AsyncHandle: Add detach_boxed() and abort_boxed() to support dyn trait object
-
AsyncTime: Rename AsyncTime::tick() to AsyncTime::interval() to prevent confuse with tick(&self)
-
AsyncTime: tick() should not consume self
-
net: Change connect_unix() arg from &PathBuf to &Path
- Add AsyncHandle and ThreadHandle to AsyncExec associate types
-
orb-smol: Add
unwindfeature, to catch panic inside the task -
orb-tokio:
- TokioRT created with Handle not allowed to call
block_on. - Add Clone to TokioRT
- TokioRT created with Handle not allowed to call
-
AsyncJoinHandle: Add is_finished()
- runtime:
- Unify the drop behavior of AsyncJoinHandle, to aligned with tokio.
spawn_blocking()should return ThreadJoinHandle- Remove
join()method, handle itself should be a future
- net: Fix
bind(&addr)not recognized when addr: &str
- runtime: Add
AsyncExec::spawn_blocking()
- net: Change ResolveAddr trait to async, change bind to async, resolve names in background
- Add net module, which include tcp and unix I/O.
- And UnifyAddr, which smart parser for both socket/path address format.
- Add UnifyStream and UnifyListen to support tcp & unix with the same interface
The first version