| package org.onlab.onos.cluster; |
| |
| import org.onlab.packet.IpPrefix; |
| |
| /** |
| * Represents a controller instance as a member in a cluster. |
| */ |
| public interface ControllerNode { |
| |
| /** Represents the operational state of the instance. */ |
| public enum State { |
| /** |
| * Signifies that the instance is active and operating normally. |
| */ |
| ACTIVE, |
| |
| /** |
| * Signifies that the instance is inactive, which means either down or |
| * up, but not operational. |
| */ |
| INACTIVE |
| } |
| |
| /** |
| * Returns the instance identifier. |
| * |
| * @return instance identifier |
| */ |
| NodeId id(); |
| |
| /** |
| * Returns the IP address of the controller instance. |
| * |
| * @return IP address |
| */ |
| IpPrefix ip(); |
| |
| |
| /** |
| * Returns the TCP port on which the node listens for connections. |
| * |
| * @return TCP port |
| */ |
| int tcpPort(); |
| |
| } |