Class CommandRateLimiter
java.lang.Object
com.netflix.concurrency.limits.limiter.AbstractLimiter<Intent>
io.camunda.zeebe.broker.transport.backpressure.CommandRateLimiter
- All Implemented Interfaces:
com.netflix.concurrency.limits.Limiter<Intent>,RequestLimiter<Intent>
public final class CommandRateLimiter
extends com.netflix.concurrency.limits.limiter.AbstractLimiter<Intent>
implements RequestLimiter<Intent>
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class com.netflix.concurrency.limits.limiter.AbstractLimiter
com.netflix.concurrency.limits.limiter.AbstractLimiter.Builder<BuilderT extends com.netflix.concurrency.limits.limiter.AbstractLimiter.Builder<BuilderT>>Nested classes/interfaces inherited from interface com.netflix.concurrency.limits.Limiter
com.netflix.concurrency.limits.Limiter.Listener -
Field Summary
Fields inherited from class com.netflix.concurrency.limits.limiter.AbstractLimiter
ID_TAG, STATUS_TAG -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCommandRateLimiter(CommandRateLimiter.CommandRateLimiterBuilder builder, int partitionId) -
Method Summary
Modifier and TypeMethodDescriptionOptional<com.netflix.concurrency.limits.Limiter.Listener>builder()intvoidonIgnore(int streamId, long requestId) Notify when a request is cancelled afterRequestLimiter.tryAcquire(int, long, Object)was success.protected voidonNewLimit(int newLimit) voidonResponse(int streamId, long requestId) Notify when a request processing is completed by calling this method.booleantryAcquire(int streamId, long requestId, Intent context) Try to add to the inflight requests.Methods inherited from class com.netflix.concurrency.limits.limiter.AbstractLimiter
createListener, createRejectedListener, getInflight, getLimitMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.camunda.zeebe.broker.transport.backpressure.RequestLimiter
getLimit
-
Constructor Details
-
CommandRateLimiter
-
-
Method Details
-
acquire
- Specified by:
acquirein interfacecom.netflix.concurrency.limits.Limiter<Intent>
-
tryAcquire
Description copied from interface:RequestLimiterTry to add to the inflight requests. If success,RequestLimiter.onResponse(int, long)()} must be called when the request * is processed.- Specified by:
tryAcquirein interfaceRequestLimiter<Intent>context- some limiters may use additional context to decide if a request should be accepted- Returns:
- true if request is added to the inflight requests, false otherwise
-
onResponse
public void onResponse(int streamId, long requestId) Description copied from interface:RequestLimiterNotify when a request processing is completed by calling this method.- Specified by:
onResponsein interfaceRequestLimiter<Intent>
-
onIgnore
public void onIgnore(int streamId, long requestId) Description copied from interface:RequestLimiterNotify when a request is cancelled afterRequestLimiter.tryAcquire(int, long, Object)was success.- Specified by:
onIgnorein interfaceRequestLimiter<Intent>
-
getInflightCount
public int getInflightCount()- Specified by:
getInflightCountin interfaceRequestLimiter<Intent>
-
onNewLimit
protected void onNewLimit(int newLimit) - Overrides:
onNewLimitin classcom.netflix.concurrency.limits.limiter.AbstractLimiter<Intent>
-
builder
-