diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-09-01 17:03:12 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-09-01 17:03:12 +0200 |
commit | 3549bbf2c64f047c4089ed7d430c7aa4ccf78a59 (patch) | |
tree | 997c1057ada0952d926b39018dc85cf5c75b20f1 /config-provisioning | |
parent | 9ea8c24df30cf239160b94be681c0d120c06bb5c (diff) |
Track config requests and fail ready hosts which don't make them
Diffstat (limited to 'config-provisioning')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/HostLivenessTracker.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/HostLivenessTracker.java b/config-provisioning/src/main/java/com/yahoo/config/provision/HostLivenessTracker.java new file mode 100644 index 00000000000..c9301f9049c --- /dev/null +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/HostLivenessTracker.java @@ -0,0 +1,26 @@ +package com.yahoo.config.provision; + +import java.time.Instant; +import java.util.Optional; + +/** + * Instances of this are used to keep track of (notify and query) + * which hosts are currently connected to the config system. + * + * @author bratseth + */ +public interface HostLivenessTracker { + + /** Returns the instant after which this remembers all requests */ + Instant remembersRequestsSince(); + + /** Called each time a config request is received from a client */ + void receivedRequestFrom(String hostname); + + /** + * Returns the epoch timestamp of the last request received from the given hostname, + * or empty if there is no memory of this host making a request + */ + Optional<Instant> lastRequestFrom(String hostname); + +} |