diff options
author | CNlucius <lukai1@huawei.com> | 2016-09-13 11:40:12 +0800 |
---|---|---|
committer | CNlucius <lukai1@huawei.com> | 2016-09-13 11:41:53 +0800 |
commit | b731e2f1dd0972409b136aebc7b463dd72c9cfad (patch) | |
tree | 5107d7d80c19ad8076c2c97c2b5ef8d1cf3ab903 /framework/src/onos/core/api/src/main/java/org/onosproject/net/meter/DefaultBand.java | |
parent | ee93993458266114c29271a481ef9ce7ce621b2a (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/core/api/src/main/java/org/onosproject/net/meter/DefaultBand.java')
-rw-r--r-- | framework/src/onos/core/api/src/main/java/org/onosproject/net/meter/DefaultBand.java | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/meter/DefaultBand.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/meter/DefaultBand.java deleted file mode 100644 index 58a24766..00000000 --- a/framework/src/onos/core/api/src/main/java/org/onosproject/net/meter/DefaultBand.java +++ /dev/null @@ -1,136 +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.onosproject.net.meter; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkArgument; - -/** - * A default implementation for a Band. - */ -public final class DefaultBand implements Band, BandEntry { - - private final Type type; - private final long rate; - //TODO: should be made optional - private final Long burstSize; - private final Short prec; - private long packets; - private long bytes; - - public DefaultBand(Type type, long rate, - Long burstSize, Short prec) { - this.type = type; - this.rate = rate; - this.burstSize = burstSize; - this.prec = prec; - } - - @Override - public long rate() { - return rate; - } - - @Override - public long burst() { - return burstSize; - } - - @Override - public short dropPrecedence() { - return prec; - } - - @Override - public Type type() { - return type; - } - - @Override - public long packets() { - return packets; - } - - @Override - public long bytes() { - return bytes; - } - - @Override - public void setPackets(long packets) { - this.packets = packets; - } - - @Override - public void setBytes(long bytes) { - this.bytes = bytes; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("rate", rate) - .add("burst-size", burstSize) - .add("type", type) - .add("drop-precedence", prec).toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public static final class Builder implements Band.Builder { - - private long rate; - private Long burstSize; - private Short prec; - private Type type; - - @Override - public Band.Builder withRate(long rate) { - this.rate = rate; - return this; - } - - @Override - public Band.Builder burstSize(long burstSize) { - this.burstSize = burstSize; - return this; - } - - @Override - public Band.Builder dropPrecedence(short prec) { - this.prec = prec; - return this; - } - - @Override - public Band.Builder ofType(Type type) { - this.type = type; - return this; - } - - @Override - public DefaultBand build() { - checkArgument(type != Type.REMARK && prec == null, - "Only REMARK bands can have a precendence."); - - return new DefaultBand(type, rate, burstSize, prec); - } - - - } -} |