Added ability to track whether or not node has all components running fully.
Change-Id: Ib2b90c7a842976a3b3a9711367fa1eed43103b17
diff --git a/core/api/src/main/java/org/onosproject/cluster/ControllerNode.java b/core/api/src/main/java/org/onosproject/cluster/ControllerNode.java
index 2f74ae6..2c33c99 100644
--- a/core/api/src/main/java/org/onosproject/cluster/ControllerNode.java
+++ b/core/api/src/main/java/org/onosproject/cluster/ControllerNode.java
@@ -25,6 +25,12 @@
/** Represents the operational state of the instance. */
enum State {
/**
+ * Signifies that the instance is active and that all components are
+ * operating normally.
+ */
+ READY,
+
+ /**
* Signifies that the instance is active and operating normally.
*/
ACTIVE,
@@ -33,7 +39,25 @@
* Signifies that the instance is inactive, which means either down or
* up, but not operational.
*/
- INACTIVE
+ INACTIVE;
+
+ /**
+ * Indicates whether the state represents node which is active or ready.
+ *
+ * @return true if active or ready
+ */
+ public boolean isActive() {
+ return this == ACTIVE || this == READY;
+ }
+
+ /**
+ * Indicates whether the state represents a node which is ready.
+ *
+ * @return true if active and ready
+ */
+ public boolean isReady() {
+ return this == READY;
+ }
}
/**