mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2024-11-24 20:48:55 +00:00
f1ce859903
There are a lot of changes in this one but these are the high-level points: * Both executors now support non-fd futures and it's now possible to start a poll operation on one thread and then await the result inside a UringExecutor on another thread. The reverse doesn't work yet but will once we make UringContext sync. * A few layers of indirection have been removed so hopefully both the implementation and the interface are simpler. * The thread local magic is gone in favor of directly calling methods on an executor. Executor handles can be cheaply cloned to make this easier. * Heap allocations are limited to the spawn and spawn_local methods so it's possible to completely avoid heap allocations if callers only use the run_until method. * The IoSource, Executor, FutureList traits are gone. BUG=none TEST=unit tests Cq-Depend: chromium:2629068 Change-Id: I86053007929c36da66f3b2499cdefce0b5e9a180 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2571401 Commit-Queue: Chirantan Ekbote <chirantan@chromium.org> Tested-by: Chirantan Ekbote <chirantan@chromium.org> Reviewed-by: Noah Gold <nkgold@google.com> Reviewed-by: Dylan Reid <dgreid@chromium.org>
28 lines
627 B
TOML
28 lines
627 B
TOML
[package]
|
|
name = "cros_async"
|
|
version = "0.1.0"
|
|
authors = ["The Chromium OS Authors"]
|
|
edition = "2018"
|
|
|
|
[dependencies]
|
|
async-trait = "0.1.36"
|
|
async-task = "4"
|
|
io_uring = { path = "../io_uring" }
|
|
libc = "*"
|
|
paste = "1.0"
|
|
pin-utils = "0.1.0-alpha.4"
|
|
slab = "0.4"
|
|
sync = { path = "../sync" }
|
|
sys_util = { path = "../sys_util" }
|
|
syscall_defines = { path = "../syscall_defines" }
|
|
thiserror = "1.0.20"
|
|
|
|
[dependencies.futures]
|
|
version = "*"
|
|
default-features = false
|
|
features = ["alloc"]
|
|
|
|
[dev-dependencies]
|
|
futures = { version = "*", features = ["executor"] }
|
|
tempfile = { path = "../tempfile" }
|
|
vm_memory = { path = "../vm_memory" }
|