summaryrefslogtreecommitdiffstats
path: root/framework/src/onos/utils/misc/src/main/java/org/onlab/util/Bandwidth.java
diff options
context:
space:
mode:
authorCNlucius <lukai1@huawei.com>2016-09-13 11:40:12 +0800
committerCNlucius <lukai1@huawei.com>2016-09-13 11:41:53 +0800
commitb731e2f1dd0972409b136aebc7b463dd72c9cfad (patch)
tree5107d7d80c19ad8076c2c97c2b5ef8d1cf3ab903 /framework/src/onos/utils/misc/src/main/java/org/onlab/util/Bandwidth.java
parentee93993458266114c29271a481ef9ce7ce621b2a (diff)
ONOSFW-171
O/S-SFC-ONOS scenario documentation Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365 Signed-off-by: CNlucius <lukai1@huawei.com>
Diffstat (limited to 'framework/src/onos/utils/misc/src/main/java/org/onlab/util/Bandwidth.java')
-rw-r--r--framework/src/onos/utils/misc/src/main/java/org/onlab/util/Bandwidth.java149
1 files changed, 0 insertions, 149 deletions
diff --git a/framework/src/onos/utils/misc/src/main/java/org/onlab/util/Bandwidth.java b/framework/src/onos/utils/misc/src/main/java/org/onlab/util/Bandwidth.java
deleted file mode 100644
index 60806568..00000000
--- a/framework/src/onos/utils/misc/src/main/java/org/onlab/util/Bandwidth.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onlab.util;
-
-import com.google.common.collect.ComparisonChain;
-
-import java.util.Objects;
-
-/**
- * Representation of bandwidth.
- * Use the static factory method corresponding to the unit (like Kbps) you desire on instantiation.
- */
-public final class Bandwidth implements RichComparable<Bandwidth> {
-
- private final double bps;
-
- /**
- * Creates a new instance with given bandwidth.
- *
- * @param bps bandwidth value to be assigned
- */
- private Bandwidth(double bps) {
- this.bps = bps;
- }
-
- // Constructor for serialization
- private Bandwidth() {
- this.bps = 0;
- }
-
- /**
- * Creates a new instance with given bandwidth.
- *
- * @param v bandwidth value
- * @param unit {@link DataRateUnit} of {@code v}
- * @return {@link Bandwidth} instance with given bandwidth
- */
- public static Bandwidth of(double v, DataRateUnit unit) {
- return new Bandwidth(unit.toBitsPerSecond(v));
- }
-
- /**
- * Creates a new instance with given bandwidth in bps.
- *
- * @param bps bandwidth value to be assigned
- * @return {@link Bandwidth} instance with given bandwidth
- */
- public static Bandwidth bps(double bps) {
- return new Bandwidth(bps);
- }
-
- /**
- * Creates a new instance with given bandwidth in Kbps.
- *
- * @param kbps bandwidth value to be assigned
- * @return {@link Bandwidth} instance with given bandwidth
- */
- public static Bandwidth kbps(double kbps) {
- return bps(kbps * 1_000L);
- }
-
- /**
- * Creates a new instance with given bandwidth in Mbps.
- *
- * @param mbps bandwidth value to be assigned
- * @return {@link Bandwidth} instance with given bandwidth
- */
- public static Bandwidth mbps(double mbps) {
- return bps(mbps * 1_000_000L);
- }
-
- /**
- * Creates a new instance with given bandwidth in Gbps.
- *
- * @param gbps bandwidth value to be assigned
- * @return {@link Bandwidth} instance with given bandwidth
- */
- public static Bandwidth gbps(double gbps) {
- return bps(gbps * 1_000_000_000L);
- }
-
- /**
- * Returns bandwidth in bps.
- *
- * @return bandwidth in bps.
- */
- public double bps() {
- return bps;
- }
-
- /**
- * Returns a Bandwidth whose value is (this + value).
- *
- * @param value value to be added to this Frequency
- * @return this + value
- */
- public Bandwidth add(Bandwidth value) {
- return bps(this.bps + value.bps);
- }
-
- /**
- * Returns a Bandwidth whose value is (this - value).
- *
- * @param value value to be added to this Frequency
- * @return this - value
- */
- public Bandwidth subtract(Bandwidth value) {
- return bps(this.bps - value.bps);
- }
-
- @Override
- public int compareTo(Bandwidth other) {
- return ComparisonChain.start()
- .compare(this.bps, other.bps)
- .result();
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof Bandwidth) {
- Bandwidth that = (Bandwidth) obj;
- return Objects.equals(this.bps, that.bps);
- }
- return false;
- }
-
- @Override
- public int hashCode() {
- return Long.hashCode(Double.doubleToLongBits(bps));
- }
-
- @Override
- public String toString() {
- return String.valueOf(this.bps);
- }
-}