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.ServiceLoaderservice provider forAimdLimitlimit 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.ServiceLoaderservice provider forFixedLimitlimit 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