aboutsummaryrefslogtreecommitdiffhomepage
path: root/Cargo.toml
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-07-17 18:07:43 +0900
committernsfisis <nsfisis@gmail.com>2026-07-17 18:07:43 +0900
commite44085eb742cb14dff22de054ef19fe725a4e2c2 (patch)
tree219dbdee6cbfb70dd4015add8558a02026b86183 /Cargo.toml
parentc6b10bd024894f857bf35a8f84c5e273be6f860d (diff)
downloadphp-shirabe-e44085eb742cb14dff22de054ef19fe725a4e2c2.tar.gz
php-shirabe-e44085eb742cb14dff22de054ef19fe725a4e2c2.tar.zst
php-shirabe-e44085eb742cb14dff22de054ef19fe725a4e2c2.zip
refactor(loop): drive wait() promises concurrently via FuturesUnordered
Loop::wait already had the target signature and a TODO(phase-c-promise) marker noting it drove promises serially; swap the for-loop for FuturesUnordered so all promises are polled together instead of one at a time, keeping the "remember only the first error" semantics. This adds the first real use of the futures dependency (already present in Cargo.toml/Cargo.lock from earlier prep work, now finally consumed), so those lockfile/manifest changes land in this commit. Real overlap still doesn't happen yet: each promise (HttpDownloader::add/ add_copy etc.) resolves through a blocking bridge (curl_runtime()/ sync_executor::block_on) that fully occupies the thread until it settles, so this is groundwork for once a single top-level Runtime replaces those bridges. Updated the TODO(phase-c-promise) comment to reflect that.
Diffstat (limited to 'Cargo.toml')
-rw-r--r--Cargo.toml1
1 files changed, 1 insertions, 0 deletions
diff --git a/Cargo.toml b/Cargo.toml
index 162596d3..674fa358 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -20,6 +20,7 @@ async-trait = "0.1.89"
base64 = "0.22.1"
chrono = { version = "0.4.44", features = ["serde"] }
fastrand = "2.4.1"
+futures = "0.3.32"
indexmap = { version = "2.14.0", features = ["serde"] }
jsonschema = { version = "0.46.6", default-features = false }
md5 = "0.7.0"