package org.ovirt.engine.core.common.businessentities;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
/**
* Object which represents host NUMA node information
*
*/
public class VdsNumaNode extends NumaNode {
private static final long serialVersionUID = -683066053231559224L;
private NumaNodeStatistics numaNodeStatistics;
private Map<Integer, Integer> numaNodeDistances = new HashMap<>();
public VdsNumaNode() {
}
public NumaNodeStatistics getNumaNodeStatistics() {
return numaNodeStatistics;
}
public void setNumaNodeStatistics(NumaNodeStatistics numaNodeStatistics) {
this.numaNodeStatistics = numaNodeStatistics;
}
/**
* Represents the distance between this node to other nodes.
* The key is the node index(include self), the value is the distance
* between self and the according node.
*/
public Map<Integer, Integer> getNumaNodeDistances() {
return numaNodeDistances;
}
public void setNumaNodeDistances(Map<Integer, Integer> numaNodeDistances) {
this.numaNodeDistances = numaNodeDistances;
}
@Override
public int hashCode() {
return Objects.hash(
super.hashCode(),
numaNodeDistances,
numaNodeStatistics
);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof VdsNumaNode)) {
return false;
}
VdsNumaNode other = (VdsNumaNode) obj;
return super.equals(obj)
&& Objects.equals(numaNodeDistances, other.numaNodeDistances)
&& Objects.equals(numaNodeStatistics, other.numaNodeStatistics);
}
}