aboutsummaryrefslogtreecommitdiffstats
path: root/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners
diff options
context:
space:
mode:
Diffstat (limited to 'clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners')
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/NodeListener.java25
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/NodeStateOrHostInfoChangeHandler.java21
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/SlobrokListener.java (renamed from clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/NodeAddedOrRemovedListener.java)4
3 files changed, 27 insertions, 23 deletions
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/NodeListener.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/NodeListener.java
new file mode 100644
index 00000000000..351b68b3b57
--- /dev/null
+++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/NodeListener.java
@@ -0,0 +1,25 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.clustercontroller.core.listeners;
+
+import com.yahoo.vdslib.state.Node;
+import com.yahoo.vdslib.state.NodeState;
+import com.yahoo.vespa.clustercontroller.core.NodeInfo;
+import com.yahoo.vespa.clustercontroller.core.hostinfo.HostInfo;
+
+/**
+ * Implemented by classes wanting events when there are node changes.
+ */
+public interface NodeListener {
+
+ default void handleNewNodeState(NodeInfo currentInfo, NodeState newState) {}
+ default void handleNewWantedNodeState(NodeInfo node, NodeState newState) {}
+
+ /** Invoked after NodeInfo has been removed from the content cluster. */
+ default void handleRemovedNode(Node node) {}
+
+ /**
+ * For every getnodestate RPC call, handleUpdatedHostInfo() will be called with the host info JSON string.
+ */
+ default void handleUpdatedHostInfo(NodeInfo node, HostInfo newHostInfo) {}
+
+}
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/NodeStateOrHostInfoChangeHandler.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/NodeStateOrHostInfoChangeHandler.java
deleted file mode 100644
index b76b46b216b..00000000000
--- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/NodeStateOrHostInfoChangeHandler.java
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.clustercontroller.core.listeners;
-
-import com.yahoo.vdslib.state.NodeState;
-import com.yahoo.vespa.clustercontroller.core.NodeInfo;
-import com.yahoo.vespa.clustercontroller.core.hostinfo.HostInfo;
-
-/**
- * Implemented by classes wanting events when node states changes.
- */
-public interface NodeStateOrHostInfoChangeHandler {
-
- void handleNewNodeState(NodeInfo currentInfo, NodeState newState);
- void handleNewWantedNodeState(NodeInfo node, NodeState newState);
-
- /**
- * For every getnodestate RPC call, handleUpdatedHostInfo() will be called with the host info JSON string.
- */
- void handleUpdatedHostInfo(NodeInfo node, HostInfo newHostInfo);
-
-}
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/NodeAddedOrRemovedListener.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/SlobrokListener.java
index d811708c999..5a397cc4935 100644
--- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/NodeAddedOrRemovedListener.java
+++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/listeners/SlobrokListener.java
@@ -4,9 +4,9 @@ package com.yahoo.vespa.clustercontroller.core.listeners;
import com.yahoo.vespa.clustercontroller.core.NodeInfo;
/**
- * Listeners for new nodes detected.
+ * Implemented by classes that wants to be notified of Slobrok events.
*/
-public interface NodeAddedOrRemovedListener {
+public interface SlobrokListener {
void handleNewNode(NodeInfo node);
void handleMissingNode(NodeInfo node);
void handleNewRpcAddress(NodeInfo node);