public class FlatBinaryMaxRateRegistry extends java.lang.Object implements MaxRateRegistry, org.apache.curator.framework.recipes.cache.NodeCacheListener
| Constructor and Description |
|---|
FlatBinaryMaxRateRegistry(pl.allegro.tech.hermes.common.config.ConfigFactory configFactory,
ClusterAssignmentCache clusterAssignmentCache,
ConsumerAssignmentCache consumerAssignmentCache,
org.apache.curator.framework.CuratorFramework curator,
pl.allegro.tech.hermes.infrastructure.zookeeper.ZookeeperPaths zookeeperPaths,
SubscriptionIds subscriptionIds) |
| Modifier and Type | Method and 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) |
RateHistory |
getRateHistory(pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerInstance consumer) |
void |
nodeChanged() |
void |
onAfterMaxRateCalculation() |
void |
onAfterWriteRateHistories() |
void |
onBeforeMaxRateCalculation() |
void |
start() |
void |
stop() |
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) |
void |
writeRateHistory(pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerInstance consumer,
RateHistory rateHistory) |
public FlatBinaryMaxRateRegistry(pl.allegro.tech.hermes.common.config.ConfigFactory configFactory,
ClusterAssignmentCache clusterAssignmentCache,
ConsumerAssignmentCache consumerAssignmentCache,
org.apache.curator.framework.CuratorFramework curator,
pl.allegro.tech.hermes.infrastructure.zookeeper.ZookeeperPaths zookeeperPaths,
SubscriptionIds subscriptionIds)
public void start()
start in interface MaxRateRegistrypublic void stop()
stop in interface MaxRateRegistrypublic void onBeforeMaxRateCalculation()
onBeforeMaxRateCalculation in interface MaxRateRegistrypublic void onAfterMaxRateCalculation()
onAfterMaxRateCalculation in interface MaxRateRegistrypublic 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)
ensureCorrectAssignments in interface MaxRateRegistrypublic 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)
update in interface MaxRateRegistrypublic java.util.Optional<pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.MaxRate> getMaxRate(pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerInstance consumer)
getMaxRate in interface MaxRateRegistrypublic RateHistory getRateHistory(pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerInstance consumer)
getRateHistory in interface MaxRateRegistrypublic void writeRateHistory(pl.allegro.tech.hermes.consumers.consumer.rate.maxrate.ConsumerInstance consumer,
RateHistory rateHistory)
writeRateHistory in interface MaxRateRegistrypublic void onAfterWriteRateHistories()
onAfterWriteRateHistories in interface MaxRateRegistrypublic void nodeChanged()
nodeChanged in interface org.apache.curator.framework.recipes.cache.NodeCacheListener