Fixing topology related interface/class tree
- (Mutable)Topology no longer implements ImmutableTopology
--- BaseTopology (was ImmutableTopology)
|
+-- ImmutableTopology (new)
|
+-- MutableTopology (was Topology)
|
+-- RefreshableTopology
|
+-- TopologyInternal
This interface is placed in wrong place. To be fixed later.
Change-Id: Ifa9defcc7c0fc22bba19977fe4ea57eaf792275e
diff --git a/src/main/java/net/onrc/onos/core/hostmanager/HostManager.java b/src/main/java/net/onrc/onos/core/hostmanager/HostManager.java
index a5e3bd9..155c3cf 100644
--- a/src/main/java/net/onrc/onos/core/hostmanager/HostManager.java
+++ b/src/main/java/net/onrc/onos/core/hostmanager/HostManager.java
@@ -26,7 +26,7 @@
import net.onrc.onos.core.packet.Ethernet;
import net.onrc.onos.core.topology.ITopologyService;
import net.onrc.onos.core.topology.Port;
-import net.onrc.onos.core.topology.Topology;
+import net.onrc.onos.core.topology.MutableTopology;
import net.onrc.onos.core.util.Dpid;
import net.onrc.onos.core.util.PortNumber;
import net.onrc.onos.core.util.PortNumberUtils;
@@ -52,7 +52,7 @@
Executors.newSingleThreadScheduledExecutor();
private ITopologyService topologyService;
- private Topology topology;
+ private MutableTopology mutableTopology;
public enum HostUpdateType {
ADD, DELETE, UPDATE;
@@ -141,17 +141,17 @@
// then don't add the host
// TODO We probably don't need to check this here, it should be done in
// the Topology module.
- topology.acquireReadLock();
+ mutableTopology.acquireReadLock();
try {
- if (topology.getOutgoingLink(dpid, portNum) != null ||
- topology.getIncomingLink(dpid, portNum) != null) {
+ if (mutableTopology.getOutgoingLink(dpid, portNum) != null ||
+ mutableTopology.getIncomingLink(dpid, portNum) != null) {
log.debug("Not adding host {} as " +
"there is a link on the port: dpid {} port {}",
srcHost.getMacAddress(), dpid, portNum);
return Command.CONTINUE;
}
} finally {
- topology.releaseReadLock();
+ mutableTopology.releaseReadLock();
}
Long mac = eth.getSourceMAC().toLong();
@@ -175,10 +175,10 @@
@Override
public void run() {
log.debug("called HostCleaner");
- topology.acquireReadLock();
+ mutableTopology.acquireReadLock();
try {
Set<net.onrc.onos.core.topology.Host> deleteSet = new HashSet<>();
- for (net.onrc.onos.core.topology.Host host : topology.getHosts()) {
+ for (net.onrc.onos.core.topology.Host host : mutableTopology.getHosts()) {
long now = System.currentTimeMillis();
if ((now - host.getLastSeenTime() > agingMillisecConfig)) {
if (log.isTraceEnabled()) {
@@ -198,7 +198,7 @@
// all exceptions here.
log.error("Exception in host cleanup thread:", e);
} finally {
- topology.releaseReadLock();
+ mutableTopology.releaseReadLock();
}
}
}
@@ -259,7 +259,7 @@
floodlightProvider = context.getServiceImpl(IFloodlightProviderService.class);
hostListeners = new CopyOnWriteArrayList<IHostListener>();
topologyService = context.getServiceImpl(ITopologyService.class);
- topology = topologyService.getTopology();
+ mutableTopology = topologyService.getTopology();
setHostManagerProperties(context);
}
@@ -280,9 +280,9 @@
@Override
public void deleteHostByMac(MACAddress mac) {
Host deleteHost = null;
- topology.acquireReadLock();
+ mutableTopology.acquireReadLock();
try {
- net.onrc.onos.core.topology.Host host = topology.getHostByMac(mac);
+ net.onrc.onos.core.topology.Host host = mutableTopology.getHostByMac(mac);
for (Port switchPort : host.getAttachmentPoints()) {
// We don't handle vlan now and multiple attachment points.
@@ -295,7 +295,7 @@
break; // NOPMD
}
} finally {
- topology.releaseReadLock();
+ mutableTopology.releaseReadLock();
}
if (deleteHost != null) {