1 package org.opendaylight.controller.connectionmanager.scheme;
3 import java.net.InetAddress;
6 import org.opendaylight.controller.clustering.services.IClusterGlobalServices;
7 import org.opendaylight.controller.connectionmanager.ConnectionMgmtScheme;
8 import org.opendaylight.controller.sal.core.Node;
10 class AnyControllerScheme extends AbstractScheme {
11 private static AbstractScheme myScheme= null;
13 protected AnyControllerScheme(IClusterGlobalServices clusterServices) {
14 super(clusterServices, ConnectionMgmtScheme.ANY_CONTROLLER_ONE_MASTER);
17 public static AbstractScheme getScheme(IClusterGlobalServices clusterServices) {
18 if (myScheme == null) {
19 myScheme = new AnyControllerScheme(clusterServices);
25 public boolean isConnectionAllowedInternal(Node node) {
26 Set <InetAddress> controllers = nodeConnections.get(node);
27 if (controllers == null || controllers.size() == 0) return true;
28 return (controllers.size() == 1 && controllers.contains(clusterServices.getMyAddress()));