blob: daef7bdc957c9be1a1b2f7260c00cdca5bccb653 [file] [log] [blame]
tom1d416c52014-09-29 20:55:24 -07001package org.onlab.onos.store.cluster.impl;
2
3import org.onlab.onos.cluster.DefaultControllerNode;
tom81583142014-09-30 01:40:29 -07004import org.onlab.onos.cluster.NodeId;
5import org.onlab.packet.IpPrefix;
tom1d416c52014-09-29 20:55:24 -07006
Yuta HIGUCHI41f2ec02014-10-27 09:54:43 -07007// Not used right now
tom1d416c52014-09-29 20:55:24 -07008/**
9 * Simple back interface through which connection manager can interact with
10 * the cluster store.
11 */
12public interface ClusterNodesDelegate {
13
14 /**
tom81583142014-09-30 01:40:29 -070015 * Notifies about cluster node coming online.
tom1d416c52014-09-29 20:55:24 -070016 *
tom81583142014-09-30 01:40:29 -070017 * @param nodeId newly detected cluster node id
18 * @param ip node IP listen address
19 * @param tcpPort node TCP listen port
20 * @return the controller node
tom1d416c52014-09-29 20:55:24 -070021 */
tom81583142014-09-30 01:40:29 -070022 DefaultControllerNode nodeDetected(NodeId nodeId, IpPrefix ip, int tcpPort);
tom1d416c52014-09-29 20:55:24 -070023
24 /**
25 * Notifies about cluster node going offline.
26 *
tom81583142014-09-30 01:40:29 -070027 * @param nodeId identifier of the cluster node that vanished
tom1d416c52014-09-29 20:55:24 -070028 */
tom81583142014-09-30 01:40:29 -070029 void nodeVanished(NodeId nodeId);
tom1d416c52014-09-29 20:55:24 -070030
tomd33e6402014-09-30 03:14:43 -070031 /**
32 * Notifies about remote request to remove node from cluster.
33 *
34 * @param nodeId identifier of the cluster node that was removed
35 */
36 void nodeRemoved(NodeId nodeId);
37
tom1d416c52014-09-29 20:55:24 -070038}