Commit 0df91479 authored by Björn Richerzhagen's avatar Björn Richerzhagen
Browse files

v2.4 updates

parent 85cf5aa8
...@@ -110,7 +110,7 @@ public class MetricOutputSiS extends AbstractOutput { ...@@ -110,7 +110,7 @@ public class MetricOutputSiS extends AbstractOutput {
if (mv.isValid()) { if (mv.isValid()) {
return value; return value;
} }
return Double.NaN; throw new InformationNotAvailableException();
} }
@Override @Override
......
...@@ -32,6 +32,7 @@ import de.tud.kom.p2psim.api.network.SimNetworkComponent; ...@@ -32,6 +32,7 @@ import de.tud.kom.p2psim.api.network.SimNetworkComponent;
import de.tud.kom.p2psim.api.topology.TopologyComponent; import de.tud.kom.p2psim.api.topology.TopologyComponent;
import de.tudarmstadt.maki.simonstrator.api.Monitor; import de.tudarmstadt.maki.simonstrator.api.Monitor;
import de.tudarmstadt.maki.simonstrator.api.Monitor.Level; import de.tudarmstadt.maki.simonstrator.api.Monitor.Level;
import de.tudarmstadt.maki.simonstrator.api.common.graph.INodeID;
import de.tudarmstadt.maki.simonstrator.api.component.ComponentNotAvailableException; import de.tudarmstadt.maki.simonstrator.api.component.ComponentNotAvailableException;
import de.tudarmstadt.maki.simonstrator.api.component.HostComponent; import de.tudarmstadt.maki.simonstrator.api.component.HostComponent;
import de.tudarmstadt.maki.simonstrator.api.component.transport.TransportComponent; import de.tudarmstadt.maki.simonstrator.api.component.transport.TransportComponent;
...@@ -128,10 +129,19 @@ public class DefaultHost implements SimHost { ...@@ -128,10 +129,19 @@ public class DefaultHost implements SimHost {
return transportComponent; return transportComponent;
} }
/**
* @deprecated use getId instead (and the value() method)
*/
@Override @Override
@Deprecated
public long getHostId() { public long getHostId() {
return uniqueHostId; return uniqueHostId;
} }
@Override
public INodeID getId() {
return INodeID.get(uniqueHostId);
}
/* /*
* "Old Host" * "Old Host"
......
...@@ -447,8 +447,7 @@ public class DefaultTopologyComponent implements TopologyComponent { ...@@ -447,8 +447,7 @@ public class DefaultTopologyComponent implements TopologyComponent {
// Add all (online?) nodes // Add all (online?) nodes
for (MacLayer mac : topoView.getAllMacs()) { for (MacLayer mac : topoView.getAllMacs()) {
if (!onlyOnline || mac.isOnline()) { if (!onlyOnline || mac.isOnline()) {
INode node = currentView.createNode(INodeID.get(mac INode node = currentView.createNode(mac.getHost().getId());
.getNetId()));
node.setProperty(SiSTypes.PHY_LOCATION, node.setProperty(SiSTypes.PHY_LOCATION,
topoView.getPosition(mac.getMacAddress())); topoView.getPosition(mac.getMacAddress()));
currentView.addElement(node); currentView.addElement(node);
...@@ -461,17 +460,17 @@ public class DefaultTopologyComponent implements TopologyComponent { ...@@ -461,17 +460,17 @@ public class DefaultTopologyComponent implements TopologyComponent {
// Consider all nodes as potential neighbors // Consider all nodes as potential neighbors
for (MacLayer neighborMac : topoView.getAllMacs()) { for (MacLayer neighborMac : topoView.getAllMacs()) {
// create, but do NOT add the node object // create, but do NOT add the node object
INode neighbor = currentView.createNode(INodeID INode neighbor = currentView.createNode(neighborMac
.get(neighborMac.getNetId())); .getHost().getId());
// only online nodes (already in graph) // only online nodes (already in graph)
if (!onlyOnline if (!onlyOnline
|| currentView.containsNode(neighbor.getId())) { || currentView.containsNode(neighbor.getId())) {
// Distance? // Distance?
if (topoView.getDistance(mac.getMacAddress(), if (topoView.getDistance(mac.getMacAddress(),
neighborMac.getMacAddress()) <= distance) { neighborMac.getMacAddress()) <= distance) {
IEdge edge = currentView.createEdge( IEdge edge = currentView.createEdge(mac
INodeID.get(mac.getNetId()), .getHost().getId(), neighborMac
INodeID.get(neighborMac.getNetId())); .getHost().getId());
currentView.addElement(edge); currentView.addElement(edge);
} }
} }
...@@ -485,14 +484,14 @@ public class DefaultTopologyComponent implements TopologyComponent { ...@@ -485,14 +484,14 @@ public class DefaultTopologyComponent implements TopologyComponent {
.getMacAddress()); .getMacAddress());
for (MacAddress neighborMac : neighbors) { for (MacAddress neighborMac : neighbors) {
// create, but do NOT add the node object // create, but do NOT add the node object
INode neighbor = currentView.createNode(INodeID INode neighbor = currentView.createNode(topoView
.get(topoView.getMac(neighborMac).getNetId())); .getMac(neighborMac).getHost().getId());
// only online nodes (already in graph) // only online nodes (already in graph)
if (!onlyOnline if (!onlyOnline
|| currentView.containsNode(neighbor.getId())) { || currentView.containsNode(neighbor.getId())) {
IEdge edge = currentView.createEdge(INodeID.get(mac IEdge edge = currentView.createEdge(mac.getHost()
.getNetId()), INodeID.get(topoView.getMac( .getId(), topoView.getMac(neighborMac)
neighborMac).getNetId())); .getHost().getId());
currentView.addElement(edge); currentView.addElement(edge);
edge.setProperty(SiSTypes.PHY_DISTANCE, topoView edge.setProperty(SiSTypes.PHY_DISTANCE, topoView
.getDistance(mac.getMacAddress(), .getDistance(mac.getMacAddress(),
...@@ -508,8 +507,7 @@ public class DefaultTopologyComponent implements TopologyComponent { ...@@ -508,8 +507,7 @@ public class DefaultTopologyComponent implements TopologyComponent {
public INode getOwnNode(SimHost ownHost) { public INode getOwnNode(SimHost ownHost) {
MacLayer mac = ownHost.getLinkLayer().getMac(phy); MacLayer mac = ownHost.getLinkLayer().getMac(phy);
if (!onlyOnline || mac.isOnline()) { if (!onlyOnline || mac.isOnline()) {
return currentView.createNode(INodeID.get(ownHost return currentView.createNode(ownHost.getId());
.getLinkLayer().getMac(phy).getNetId()));
} }
return null; return null;
} }
......
...@@ -124,7 +124,7 @@ public class TopologyFactory implements HostComponentFactory { ...@@ -124,7 +124,7 @@ public class TopologyFactory implements HostComponentFactory {
} }
Monitor.log(TopologyFactory.class, Level.INFO, Monitor.log(TopologyFactory.class, Level.INFO,
"Topology Component for Host %s created. Placement: %s, Movement: %s", "Topology Component for Host %s created. Placement: %s, Movement: %s",
pHost.getHostId(), placement, movement); host.getHostId(), placement, movement);
return toCo; return toCo;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment