Class SubscribeRateLimiter

java.lang.Object
org.apache.pulsar.broker.service.persistent.SubscribeRateLimiter

public class SubscribeRateLimiter extends Object
  • Constructor Details

    • SubscribeRateLimiter

      public SubscribeRateLimiter(PersistentTopic topic)
  • Method Details

    • getAvailableSubscribeRateLimit

      public long getAvailableSubscribeRateLimit(SubscribeRateLimiter.ConsumerIdentifier consumerIdentifier)
      returns available subscribes if subscribe-throttling is enabled else it returns -1.
      Returns:
    • tryAcquire

      public boolean tryAcquire(SubscribeRateLimiter.ConsumerIdentifier consumerIdentifier)
      It acquires subscribe from subscribe-limiter and returns if acquired permits succeed.
      Returns:
    • subscribeAvailable

      public 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.
      Returns:
    • onSubscribeRateUpdate

      public void onSubscribeRateUpdate(org.apache.pulsar.common.policies.data.SubscribeRate subscribeRate)
    • getPoliciesSubscribeRate

      @Deprecated public org.apache.pulsar.common.policies.data.SubscribeRate getPoliciesSubscribeRate()
      Deprecated.
      Avoid using the deprecated method #NamespaceResources.getPoliciesIfCached(NamespaceName) and blocking call.
    • getPoliciesSubscribeRate

      @Deprecated public static org.apache.pulsar.common.policies.data.SubscribeRate getPoliciesSubscribeRate(BrokerService brokerService, String topicName)
      Deprecated.
      Avoid using the deprecated method #NamespaceResources.getPoliciesIfCached(NamespaceName) and blocking call.
    • getPoliciesSubscribeRate

      public static org.apache.pulsar.common.policies.data.SubscribeRate getPoliciesSubscribeRate(String cluster, Optional<org.apache.pulsar.common.policies.data.Policies> policies, String topicName)
    • getSubscribeRatePerConsumer

      public long getSubscribeRatePerConsumer(SubscribeRateLimiter.ConsumerIdentifier consumerIdentifier)
      Get configured msg subscribe-throttling rate. Returns -1 if not configured
      Returns:
    • isSubscribeRateEnabled

      public static boolean isSubscribeRateEnabled(org.apache.pulsar.common.policies.data.SubscribeRate subscribeRate)
    • close

      public void close()
    • getSubscribeRate

      public org.apache.pulsar.common.policies.data.SubscribeRate getSubscribeRate()