java.lang.Object
pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.MaxRateRegistry
All Implemented Interfaces:
org.apache.curator.framework.recipes.cache.NodeCacheListener

public class MaxRateRegistry extends Object implements org.apache.curator.framework.recipes.cache.NodeCacheListener
  • Constructor Details

    • MaxRateRegistry

      public MaxRateRegistry(int historiesEncoderBufferSize, int maxRateEncoderBufferSize, String nodeId, String clusterName, ClusterAssignmentCache clusterAssignmentCache, ConsumerAssignmentCache consumerAssignmentCache, org.apache.curator.framework.CuratorFramework curator, pl.allegro.tech.hermes.infrastructure.zookeeper.ZookeeperPaths zookeeperPaths, SubscriptionIds subscriptionIds)
  • Method Details

    • start

      public void start()
    • stop

      public void stop()
    • onBeforeMaxRateCalculation

      public void onBeforeMaxRateCalculation()
    • onAfterMaxRateCalculation

      public void onAfterMaxRateCalculation()
    • ensureCorrectAssignments

      public Set<pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerRateInfo> ensureCorrectAssignments(pl.allegro.tech.hermes.api.SubscriptionName subscriptionName, Set<String> currentConsumers)
    • update

      public void update(pl.allegro.tech.hermes.api.SubscriptionName subscriptionName, Map<String,pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.MaxRate> newMaxRates)
    • getMaxRate

      public Optional<pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.MaxRate> getMaxRate(pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerInstance consumer)
    • getRateHistory

      public RateHistory getRateHistory(pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerInstance consumer)
    • writeRateHistory

      public void writeRateHistory(pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerInstance consumer, RateHistory rateHistory)
    • onAfterWriteRateHistories

      public void onAfterWriteRateHistories()
    • nodeChanged

      public void nodeChanged()
      Specified by:
      nodeChanged in interface org.apache.curator.framework.recipes.cache.NodeCacheListener