X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-remoterpc-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fremote%2Frpc%2Fregistry%2FRoutingTable.java;h=09a987f7e31d289c4f02656e6d187f641d23140e;hp=d99faabfe45365fdc69dd7c45fa566f09e43f6e4;hb=b78ee4d6b08e2cc0cf5edd01af0e54c3bf619ab5;hpb=62ee81f764eef592f00e67181b4dbedb3f734de6 diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/RoutingTable.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/RoutingTable.java index d99faabfe4..09a987f7e3 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/RoutingTable.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/RoutingTable.java @@ -10,62 +10,60 @@ package org.opendaylight.controller.remote.rpc.registry; import akka.actor.ActorRef; import akka.japi.Option; import akka.japi.Pair; -import org.opendaylight.controller.remote.rpc.registry.gossip.Copier; -import org.opendaylight.controller.sal.connector.api.RpcRouter; - import java.io.Serializable; -import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Set; +import org.opendaylight.controller.remote.rpc.registry.gossip.Copier; +import org.opendaylight.controller.sal.connector.api.RpcRouter; public class RoutingTable implements Copier, Serializable { + private static final long serialVersionUID = 5592610415175278760L; - private Map, Long> table = new HashMap<>(); + private final Map, Long> table = new HashMap<>(); private ActorRef router; @Override public RoutingTable copy() { RoutingTable copy = new RoutingTable(); - copy.setTable(Collections.unmodifiableMap(table)); + copy.table.putAll(table); copy.setRouter(this.getRouter()); return copy; } - public Option> getRouterFor(RpcRouter.RouteIdentifier routeId){ + public Option> getRouterFor(RpcRouter.RouteIdentifier routeId) { Long updatedTime = table.get(routeId); - if (updatedTime == null || router == null) + if (updatedTime == null || router == null) { return Option.none(); - else + } else { return Option.option(new Pair<>(router, updatedTime)); + } + } + + public Set> getRoutes() { + return table.keySet(); } - public void addRoute(RpcRouter.RouteIdentifier routeId){ + public void addRoute(RpcRouter.RouteIdentifier routeId) { table.put(routeId, System.currentTimeMillis()); } - public void removeRoute(RpcRouter.RouteIdentifier routeId){ + public void removeRoute(RpcRouter.RouteIdentifier routeId) { table.remove(routeId); } - public Boolean contains(RpcRouter.RouteIdentifier routeId){ + public boolean contains(RpcRouter.RouteIdentifier routeId) { return table.containsKey(routeId); } - public Boolean isEmpty(){ + public boolean isEmpty() { return table.isEmpty(); } - /// - /// Getter, Setters - /// - //TODO: Remove public - public Map, Long> getTable() { - return table; - } - void setTable(Map, Long> table) { - this.table = table; + public int size() { + return table.size(); } public ActorRef getRouter() { @@ -78,9 +76,6 @@ public class RoutingTable implements Copier, Serializable { @Override public String toString() { - return "RoutingTable{" + - "table=" + table + - ", router=" + router + - '}'; + return "RoutingTable{" + "table=" + table + ", router=" + router + '}'; } }