package org.opennaas.extensions.ofertie.ncl.provisioner.api.model; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; /** * Contains QoS network requirements for a flow. * * TODO define units for each attribute, try to make them stay in an int if possible (avoid floating point when possible). * * @author Isart Canyameres Gimenez (i2cat) * */ @XmlAccessorType(XmlAccessType.FIELD) public class QoSRequirements { private int minDelay; private int maxDelay; private int minJitter; private int maxJitter; private int minBandwidth; private int maxBandwidth; private int minPacketLoss; private int maxPacketLoss; public int getMinDelay() { return minDelay; } public void setMinDelay(int minDelay) { this.minDelay = minDelay; } public int getMaxDelay() { return maxDelay; } public void setMaxDelay(int maxDelay) { this.maxDelay = maxDelay; } public int getMinJitter() { return minJitter; } public void setMinJitter(int minJitter) { this.minJitter = minJitter; } public int getMaxJitter() { return maxJitter; } public void setMaxJitter(int maxJitter) { this.maxJitter = maxJitter; } public int getMinBandwidth() { return minBandwidth; } public void setMinBandwidth(int minBandwidth) { this.minBandwidth = minBandwidth; } public int getMaxBandwidth() { return maxBandwidth; } public void setMaxBandwidth(int maxBandwidth) { this.maxBandwidth = maxBandwidth; } public int getMinPacketLoss() { return minPacketLoss; } public void setMinPacketLoss(int minPacketLoss) { this.minPacketLoss = minPacketLoss; } public int getMaxPacketLoss() { return maxPacketLoss; } public void setMaxPacketLoss(int maxPacketLoss) { this.maxPacketLoss = maxPacketLoss; } /* * (non-Javadoc) * * @see java.lang.Object#hashCode() */ @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + maxBandwidth; result = prime * result + maxDelay; result = prime * result + maxJitter; result = prime * result + maxPacketLoss; result = prime * result + minBandwidth; result = prime * result + minDelay; result = prime * result + minJitter; result = prime * result + minPacketLoss; return result; } /* * (non-Javadoc) * * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; QoSRequirements other = (QoSRequirements) obj; if (maxBandwidth != other.maxBandwidth) return false; if (maxDelay != other.maxDelay) return false; if (maxJitter != other.maxJitter) return false; if (maxPacketLoss != other.maxPacketLoss) return false; if (minBandwidth != other.minBandwidth) return false; if (minDelay != other.minDelay) return false; if (minJitter != other.minJitter) return false; if (minPacketLoss != other.minPacketLoss) return false; return true; } }