summaryrefslogtreecommitdiffstats
path: root/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/LabelResourcePool.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/LabelResourcePool.java')
-rw-r--r--framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/LabelResourcePool.java191
1 files changed, 0 insertions, 191 deletions
diff --git a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/LabelResourcePool.java b/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/LabelResourcePool.java
deleted file mode 100644
index 75916af0..00000000
--- a/framework/src/onos/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/LabelResourcePool.java
+++ /dev/null
@@ -1,191 +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.incubator.net.resource.label;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import java.util.Collections;
-import java.util.Objects;
-import java.util.Set;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.net.DeviceId;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Abstraction of the capacity of device label resource or global label
- * resource. It's contiguous range of label resource. When a application apply
- * some labels of some device, first catch from Set that store
- * available labels, if the size of the Set less than the apply number, then get
- * labels by calculating with three attributes, beginLabel,endLabel and
- * currentUsedMaxLabelId.
- */
-@Beta
-public class LabelResourcePool {
-
- private final DeviceId deviceId;
- private final LabelResourceId beginLabel;
- private final LabelResourceId endLabel;
- private final long totalNum; // capacity of label resource pool
- private final long usedNum; // have used label number
- private final LabelResourceId currentUsedMaxLabelId; // the maximal label
- // number id
- private ImmutableSet<LabelResource> releaseLabelId; // Set of released label
-
- /**
- * Creates a pool by device id,begin label id,end label id.
- *
- * @param deviceId device identifier
- * @param beginLabel represents for the first label id in the range of label
- * resource pool
- * @param endLabel represents for the last label id in the range of label
- * resource pool
- */
- public LabelResourcePool(String deviceId, long beginLabel, long endLabel) {
- this(deviceId, beginLabel, endLabel, endLabel - beginLabel + 1, 0L,
- beginLabel, ImmutableSet.copyOf(Collections.emptySet()));
- }
-
- /**
- * Creates a pool by device id,begin label id,end label id.
- * Used to update a pool in the store.
- *
- * @param deviceId device identifier
- * @param beginLabel represents for the first label id in the range of label
- * resource pool
- * @param endLabel represents for the last label id in the range of label
- * resource pool
- * @param totalNum capacity of label resource pool
- * @param usedNum have used label number
- * @param currentUsedMaxLabelId the maximal label number id
- * @param releaseLabelId Set of released label
- */
- public LabelResourcePool(String deviceId, long beginLabel, long endLabel,
- long totalNum, long usedNum,
- long currentUsedMaxLabelId,
- ImmutableSet<LabelResource> releaseLabelId) {
- checkArgument(endLabel >= beginLabel,
- "endLabel %s must be greater than or equal to beginLabel %s",
- endLabel, beginLabel);
- this.deviceId = DeviceId.deviceId(deviceId);
- this.beginLabel = LabelResourceId.labelResourceId(beginLabel);
- this.endLabel = LabelResourceId.labelResourceId(endLabel);
- this.totalNum = totalNum;
- this.usedNum = usedNum;
- this.currentUsedMaxLabelId = LabelResourceId
- .labelResourceId(currentUsedMaxLabelId);
- this.releaseLabelId = releaseLabelId;
- }
-
- /**
- * Returns a device id.
- *
- * @return DeviceId
- */
- public DeviceId deviceId() {
- return deviceId;
- }
-
- /**
- * Returns a begin Label id.
- *
- * @return begin Label id
- */
- public LabelResourceId beginLabel() {
- return beginLabel;
- }
-
- /**
- * Returns an end Label id.
- *
- * @return end Label id
- */
- public LabelResourceId endLabel() {
- return endLabel;
- }
-
- /**
- * Returns a begin Label id.
- *
- * @return current Used Maximal Label Id
- */
- public LabelResourceId currentUsedMaxLabelId() {
- return currentUsedMaxLabelId;
- }
-
- /**
- * Returns total number.
- *
- * @return the total label number
- */
- public long totalNum() {
- return totalNum;
- }
-
- /**
- * Returns used number.
- *
- * @return the used label number
- */
- public long usedNum() {
- return usedNum;
- }
-
- /**
- * Returns the Set of released label before.
- *
- * @return the Set of LabelResource
- */
- public Set<LabelResource> releaseLabelId() {
- return releaseLabelId;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(this.deviceId, this.beginLabel, this.endLabel,
- this.totalNum, this.usedNum,
- this.currentUsedMaxLabelId, this.releaseLabelId);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof LabelResourcePool) {
- LabelResourcePool that = (LabelResourcePool) obj;
- return Objects.equals(this.deviceId, that.deviceId)
- && Objects.equals(this.beginLabel, that.beginLabel)
- && Objects.equals(this.endLabel, that.endLabel)
- && Objects.equals(this.totalNum, that.totalNum)
- && Objects.equals(this.usedNum, that.usedNum)
- && Objects.equals(this.currentUsedMaxLabelId,
- that.currentUsedMaxLabelId)
- && Objects.equals(this.releaseLabelId, that.releaseLabelId);
- }
- return false;
- }
-
- @Override
- public String toString() {
- // TODO Auto-generated method stub
- return MoreObjects.toStringHelper(this).add("deviceId", this.deviceId)
- .add("beginLabel", this.beginLabel)
- .add("endLabel", this.endLabel).add("totalNum", this.totalNum)
- .add("usedNum", this.usedNum)
- .add("currentUsedMaxLabelId", this.currentUsedMaxLabelId)
- .add("releaseLabelId", this.releaseLabelId).toString();
- }
-}