summaryrefslogtreecommitdiffstats
path: root/config-provisioning
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2022-10-13 21:10:41 +0200
committerGitHub <noreply@github.com>2022-10-13 21:10:41 +0200
commita5ed12b351806b187613457b58982ca67f537594 (patch)
tree84e4beabd59ca6a1440607b5ba28468e92a83e48 /config-provisioning
parent6e7459c9eff635d9c8227cd8d1add320f298c0e2 (diff)
Revert "Remove HostLivenessTracker"
Diffstat (limited to 'config-provisioning')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/HostLivenessTracker.java24
1 files changed, 24 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..f3326ec2bc8
--- /dev/null
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/HostLivenessTracker.java
@@ -0,0 +1,24 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+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 {
+
+ /** 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);
+
+}