package async_kernel
- Overview
- No Docs
You can search for identifiers within the package.
in-package search v0.2.0
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=30753e014bb0b127ee59f10b1073b8ae476468fb2f07dc8c99dbe2ef312fc696
doc/async_kernel.limiter_async/Limiter_async/Throttle/index.html
Module Limiter_async.ThrottleSource
Implements a basic throttle meant to bound the number of jobs that can concurrently run. Additionally the ~burst_size and ~sustained_rate_per_sec arguments can be used to control how many jobs can be spawned in a burst, and how quickly jobs can be spawned over time. If these options are not given to create_exn they are unbounded.
concurrent_jobs_target is the desired maximum number of concurrent jobs. If the value is never changed, then this is in fact a hard upper bound. The value is mutable, however, and so may be violated temporarily if the value is reduced.
val enqueue' :
t ->
('a -> 'b Async_kernel.Deferred.t) ->
'a ->
'b Outcome.t Async_kernel.Deferred.tinclude Common with type 'a t := 'a u
kills t, which aborts all enqueued jobs that haven't started and all jobs enqueued in the future. If t has already been killed, then calling kill t has no effect. Note that kill does not affect currently running jobs in any way.
is_dead t returns true if t was killed, either by kill or by an unhandled exception in a job.