Package io.helidon.common.concurrency.limits
package io.helidon.common.concurrency.limits
Concurrency limits API and default implementations.
- See Also:
-
ClassDescriptionAIMD based limiter.Configuration of
AimdLimit
.Fluent API builder forAimdLimit
.AimdLimitConfig.BuilderBase<BUILDER extends AimdLimitConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends AimdLimitConfig> Fluent API builder base forAimdLimit
.Generated implementation of the prototype, can be extended by descendant prototype implementations.ServiceLoader
service provider forAimdLimit
limit implementation.Semaphore based limit, that supports queuing for a permit, and timeout on the queue.Configuration ofFixedLimit
.Fluent API builder forFixedLimit
.FixedLimitConfig.BuilderBase<BUILDER extends FixedLimitConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends FixedLimitConfig> Fluent API builder base forFixedLimit
.Generated implementation of the prototype, can be extended by descendant prototype implementations.ServiceLoader
service provider forFixedLimit
limit implementation.If this exception is thrown from a limited task withinLimitAlgorithm.invoke(java.util.concurrent.Callable)
, the invocation will be ignored by possible algorithms (for example when considering round-trip timing).Contract for a concurrency limiter.Concurrency limit algorithm.When a token is retrieved fromLimitAlgorithm.tryAcquire()
, one of its methods must be called when the task is over, to release the token back to the pool (such as a permit returned to aSemaphore
).A limit was reached and the submitted task cannot be executed.Deprecated, for removal: This API element is subject to removal in a future version.Deprecated, for removal: This API element is subject to removal in a future version.DO NOT USE except for backward compatibility with semaphore based handling
FixedLimit.create()
to get unlimited limit