Interface FixedLimitConfig
- All Superinterfaces:
Prototype.Api
,Prototype.Factory<FixedLimit>
- All Known Implementing Classes:
FixedLimitConfig.BuilderBase.FixedLimitConfigImpl
Configuration of
FixedLimit
.- See Also:
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic class
Fluent API builder forFixedLimit
.static class
FixedLimitConfig.BuilderBase<BUILDER extends FixedLimitConfig.BuilderBase<BUILDER,
PROTOTYPE>, PROTOTYPE extends FixedLimitConfig> Fluent API builder base forFixedLimit
. -
Method Summary
Modifier and TypeMethodDescriptionstatic FixedLimitConfig.Builder
builder()
Create a new fluent API builder to customize configuration.static FixedLimitConfig.Builder
builder
(FixedLimitConfig instance) Create a new fluent API builder from an existing instance.static FixedLimitConfig
create()
Create a new instance with default values.static FixedLimitConfig
Create a new instance from configuration.boolean
fair()
Whether theSemaphore
should beSemaphore.isFair()
.name()
Name of this instance.int
permits()
Number of permit to allow.int
How many requests can be enqueued waiting for a permit.How long to wait for a permit when enqueued.Explicitly configured semaphore.Methods inherited from interface io.helidon.builder.api.Prototype.Factory
build
-
Method Details
-
builder
Create a new fluent API builder to customize configuration.- Returns:
- a new builder
-
builder
Create a new fluent API builder from an existing instance.- Parameters:
instance
- an existing instance used as a base for the builder- Returns:
- a builder based on an instance
-
create
Create a new instance from configuration.- Parameters:
config
- used to configure the new instance- Returns:
- a new instance configured from configuration
-
create
Create a new instance with default values.- Returns:
- a new instance
-
permits
int permits()Number of permit to allow. Defaults to 0. When set to0
, we switch to unlimited.- Returns:
- number of permits
-
fair
boolean fair()- Returns:
- whether this should be a fair semaphore
-
queueLength
int queueLength()How many requests can be enqueued waiting for a permit. Note that this may not be an exact behavior due to concurrent invocations. We useSemaphore.getQueueLength()
in theFixedLimit
implementation. Default value is 0. If set to {code 0}, there is no queueing.- Returns:
- number of requests to enqueue
-
queueTimeout
Duration queueTimeout()How long to wait for a permit when enqueued. Defaults to "PT1S"- Returns:
- duration of the timeout
-
name
String name()Name of this instance.- Returns:
- name of the instance
-
semaphore
Explicitly configured semaphore. Note that if this is set, all other configuration is ignored.- Returns:
- semaphore instance
-