Runs fn over items with at most controller.Cap invocations in flight at
any instant, re-reading the cap on every scheduling decision so it tracks the
controller as AIMD mutates it. Mirrors IntegrationEngine.runBounded's
promise-pool shape, but the pool size is dynamic instead of fixed.
Each completed call feeds its outcome back into the controller
(OnThrottleOrError when throttled or !ok, else OnSuccess) so a later
item benefits from (or is protected by) what earlier items revealed about the
source's limits. No timers are used — concurrency is bounded purely by how
many worker promises are permitted to be active.
Runs
fnoveritemswith at mostcontroller.Capinvocations in flight at any instant, re-reading the cap on every scheduling decision so it tracks the controller as AIMD mutates it. MirrorsIntegrationEngine.runBounded's promise-pool shape, but the pool size is dynamic instead of fixed.Each completed call feeds its outcome back into the controller (
OnThrottleOrErrorwhenthrottledor!ok, elseOnSuccess) so a later item benefits from (or is protected by) what earlier items revealed about the source's limits. No timers are used — concurrency is bounded purely by how many worker promises are permitted to be active.