blob: 4037050f15530173c6477dcc06514dd434837d50 [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;
Pavlin Radoslavov444b5192014-10-28 10:45:19 -07005import org.onlab.packet.IpAddress;
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 */
Pavlin Radoslavov444b5192014-10-28 10:45:19 -070022 DefaultControllerNode nodeDetected(NodeId nodeId, IpAddress ip,
23 int tcpPort);
tom1d416c52014-09-29 20:55:24 -070024
25 /**
26 * Notifies about cluster node going offline.
27 *
tom81583142014-09-30 01:40:29 -070028 * @param nodeId identifier of the cluster node that vanished
tom1d416c52014-09-29 20:55:24 -070029 */
tom81583142014-09-30 01:40:29 -070030 void nodeVanished(NodeId nodeId);
tom1d416c52014-09-29 20:55:24 -070031
tomd33e6402014-09-30 03:14:43 -070032 /**
33 * Notifies about remote request to remove node from cluster.
34 *
35 * @param nodeId identifier of the cluster node that was removed
36 */
37 void nodeRemoved(NodeId nodeId);
38
tom1d416c52014-09-29 20:55:24 -070039}