Class HierarchicalCacheMaxRateRegistry
- java.lang.Object
-
- pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.HierarchicalCacheMaxRateRegistry
-
- All Implemented Interfaces:
MaxRateRegistry
public class HierarchicalCacheMaxRateRegistry extends java.lang.Object implements MaxRateRegistry
-
-
Constructor Summary
Constructors Constructor Description HierarchicalCacheMaxRateRegistry(pl.allegro.tech.hermes.common.config.ConfigFactory configFactory, org.apache.curator.framework.CuratorFramework curator, com.fasterxml.jackson.databind.ObjectMapper objectMapper, pl.allegro.tech.hermes.infrastructure.zookeeper.ZookeeperPaths zookeeperPaths, MaxRatePathSerializer pathSerializer, SubscriptionsCache subscriptionsCache)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Set<pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerRateInfo>ensureCorrectAssignments(pl.allegro.tech.hermes.api.SubscriptionName subscriptionName, java.util.Set<java.lang.String> currentConsumers)java.util.Optional<pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.MaxRate>getMaxRate(pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerInstance consumer)RateHistorygetRateHistory(pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerInstance consumer)voidstart()voidstop()voidupdate(pl.allegro.tech.hermes.api.SubscriptionName subscriptionName, java.util.Map<java.lang.String,pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.MaxRate> newMaxRates)voidwriteRateHistory(pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerInstance consumer, RateHistory rateHistory)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.MaxRateRegistry
onAfterMaxRateCalculation, onAfterWriteRateHistories, onBeforeMaxRateCalculation
-
-
-
-
Constructor Detail
-
HierarchicalCacheMaxRateRegistry
public HierarchicalCacheMaxRateRegistry(pl.allegro.tech.hermes.common.config.ConfigFactory configFactory, org.apache.curator.framework.CuratorFramework curator, com.fasterxml.jackson.databind.ObjectMapper objectMapper, pl.allegro.tech.hermes.infrastructure.zookeeper.ZookeeperPaths zookeeperPaths, MaxRatePathSerializer pathSerializer, SubscriptionsCache subscriptionsCache)
-
-
Method Detail
-
start
public void start()
- Specified by:
startin interfaceMaxRateRegistry
-
stop
public void stop()
- Specified by:
stopin interfaceMaxRateRegistry
-
ensureCorrectAssignments
public java.util.Set<pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerRateInfo> ensureCorrectAssignments(pl.allegro.tech.hermes.api.SubscriptionName subscriptionName, java.util.Set<java.lang.String> currentConsumers)- Specified by:
ensureCorrectAssignmentsin interfaceMaxRateRegistry
-
update
public void update(pl.allegro.tech.hermes.api.SubscriptionName subscriptionName, java.util.Map<java.lang.String,pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.MaxRate> newMaxRates)- Specified by:
updatein interfaceMaxRateRegistry
-
getMaxRate
public java.util.Optional<pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.MaxRate> getMaxRate(pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerInstance consumer)
- Specified by:
getMaxRatein interfaceMaxRateRegistry
-
getRateHistory
public RateHistory getRateHistory(pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerInstance consumer)
- Specified by:
getRateHistoryin interfaceMaxRateRegistry
-
writeRateHistory
public void writeRateHistory(pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerInstance consumer, RateHistory rateHistory)- Specified by:
writeRateHistoryin interfaceMaxRateRegistry
-
-