public class SubscribeRateLimiter extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
SubscribeRateLimiter.ConsumerIdentifier |
| Constructor and Description |
|---|
SubscribeRateLimiter(PersistentTopic topic) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
long |
getAvailableSubscribeRateLimit(SubscribeRateLimiter.ConsumerIdentifier consumerIdentifier)
returns available subscribes if subscribe-throttling is enabled else it returns -1
|
org.apache.pulsar.common.policies.data.SubscribeRate |
getPoliciesSubscribeRate()
Gets configured subscribe-rate from namespace policies.
|
static org.apache.pulsar.common.policies.data.SubscribeRate |
getPoliciesSubscribeRate(BrokerService brokerService,
String topicName) |
static org.apache.pulsar.common.policies.data.SubscribeRate |
getPoliciesSubscribeRate(String cluster,
Optional<org.apache.pulsar.common.policies.data.Policies> policies,
String topicName) |
org.apache.pulsar.common.policies.data.SubscribeRate |
getSubscribeRate() |
long |
getSubscribeRatePerConsumer(SubscribeRateLimiter.ConsumerIdentifier consumerIdentifier)
Get configured msg subscribe-throttling rate.
|
static boolean |
isDispatchRateNeeded(BrokerService brokerService,
Optional<org.apache.pulsar.common.policies.data.Policies> policies,
String topicName) |
void |
onPoliciesUpdate(org.apache.pulsar.common.policies.data.Policies data) |
void |
onSubscribeRateUpdate(org.apache.pulsar.common.policies.data.SubscribeRate subscribeRate) |
boolean |
subscribeAvailable(SubscribeRateLimiter.ConsumerIdentifier consumerIdentifier)
checks if subscribe-rate limit is configured and if it's configured then check if subscribe are available or not.
|
boolean |
tryAcquire(SubscribeRateLimiter.ConsumerIdentifier consumerIdentifier)
It acquires subscribe from subscribe-limiter and returns if acquired permits succeed.
|
public SubscribeRateLimiter(PersistentTopic topic)
public long getAvailableSubscribeRateLimit(SubscribeRateLimiter.ConsumerIdentifier consumerIdentifier)
public boolean tryAcquire(SubscribeRateLimiter.ConsumerIdentifier consumerIdentifier)
public boolean subscribeAvailable(SubscribeRateLimiter.ConsumerIdentifier consumerIdentifier)
public void onPoliciesUpdate(org.apache.pulsar.common.policies.data.Policies data)
public void onSubscribeRateUpdate(org.apache.pulsar.common.policies.data.SubscribeRate subscribeRate)
public org.apache.pulsar.common.policies.data.SubscribeRate getPoliciesSubscribeRate()
public static boolean isDispatchRateNeeded(BrokerService brokerService, Optional<org.apache.pulsar.common.policies.data.Policies> policies, String topicName)
public static org.apache.pulsar.common.policies.data.SubscribeRate getPoliciesSubscribeRate(BrokerService brokerService, String topicName)
public static org.apache.pulsar.common.policies.data.SubscribeRate getPoliciesSubscribeRate(String cluster, Optional<org.apache.pulsar.common.policies.data.Policies> policies, String topicName)
public long getSubscribeRatePerConsumer(SubscribeRateLimiter.ConsumerIdentifier consumerIdentifier)
public void close()
public org.apache.pulsar.common.policies.data.SubscribeRate getSubscribeRate()
Copyright © 2017–2021 Apache Software Foundation. All rights reserved.