@Service public class DistributedLabelResourceStore extends org.onosproject.store.AbstractStore<LabelResourceEvent,LabelResourceDelegate> implements LabelResourceStore
| Modifier and Type | Field and Description |
|---|---|
protected org.onosproject.store.cluster.messaging.ClusterCommunicationService |
clusterCommunicator |
protected org.onosproject.cluster.ClusterService |
clusterService |
protected org.onosproject.net.device.DeviceService |
deviceService |
protected org.onosproject.mastership.MastershipService |
mastershipService |
protected org.onosproject.store.service.StorageService |
storageService |
| Constructor and Description |
|---|
DistributedLabelResourceStore() |
| Modifier and Type | Method and Description |
|---|---|
void |
activate() |
java.util.Collection<LabelResource> |
applyFromDevicePool(org.onosproject.net.DeviceId deviceId,
long applyNum)
Returns labels from resource pool by a specific device id.
|
java.util.Collection<LabelResource> |
applyFromGlobalPool(long applyNum)
Returns labels from the global label resource pool.
|
boolean |
createDevicePool(org.onosproject.net.DeviceId deviceId,
LabelResourceId beginLabel,
LabelResourceId endLabel)
Creates a label resource of some device id from begin label to end label.
|
boolean |
createGlobalPool(LabelResourceId beginLabel,
LabelResourceId endLabel)
Creates the global label resource pool.
|
void |
deactivate() |
boolean |
destroyDevicePool(org.onosproject.net.DeviceId deviceId)
Destroys a label resource pool of a specific device id.
|
boolean |
destroyGlobalPool()
Destroys a the global label resource pool.
|
LabelResourcePool |
getDeviceLabelResourcePool(org.onosproject.net.DeviceId deviceId)
Returns the label resource pool by a specific device id.
|
long |
getFreeNumOfDevicePool(org.onosproject.net.DeviceId deviceId)
Returns the unused label number of a label resource pool by a specific device
id.
|
long |
getFreeNumOfGlobalPool()
Returns the unused number of a global label resource pool.
|
LabelResourcePool |
getGlobalLabelResourcePool()
Returns the global label resource pool.
|
boolean |
isDevicePoolFull(org.onosproject.net.DeviceId deviceId)
Judges if the pool of a specific device id is full.
|
boolean |
isGlobalPoolFull()
Judges if the global resource pool is full.
|
boolean |
releaseToDevicePool(com.google.common.collect.Multimap<org.onosproject.net.DeviceId,LabelResource> release)
Releases unused labels to device pools .
|
boolean |
releaseToGlobalPool(java.util.Set<LabelResourceId> release)
Releases unused labels to the global resource pool.
|
hasDelegate, notifyDelegate, notifyDelegate, setDelegate, unsetDelegate@Reference(cardinality=MANDATORY_UNARY) protected org.onosproject.store.service.StorageService storageService
@Reference(cardinality=MANDATORY_UNARY) protected org.onosproject.mastership.MastershipService mastershipService
@Reference(cardinality=MANDATORY_UNARY) protected org.onosproject.store.cluster.messaging.ClusterCommunicationService clusterCommunicator
@Reference(cardinality=MANDATORY_UNARY) protected org.onosproject.cluster.ClusterService clusterService
@Reference(cardinality=MANDATORY_UNARY) protected org.onosproject.net.device.DeviceService deviceService
@Activate public void activate()
@Deactivate public void deactivate()
public boolean createDevicePool(org.onosproject.net.DeviceId deviceId,
LabelResourceId beginLabel,
LabelResourceId endLabel)
LabelResourceStorecreateDevicePool in interface LabelResourceStoredeviceId - device identifierbeginLabel - represents for the first label id in the range of label
poolendLabel - represents for the last label id in the range of label
poolpublic boolean createGlobalPool(LabelResourceId beginLabel, LabelResourceId endLabel)
LabelResourceStorecreateGlobalPool in interface LabelResourceStorebeginLabel - represents for the first label id in the range of label
poolendLabel - represents for the last label id in the range of label
poolpublic boolean destroyDevicePool(org.onosproject.net.DeviceId deviceId)
LabelResourceStoredestroyDevicePool in interface LabelResourceStoredeviceId - device identifierpublic java.util.Collection<LabelResource> applyFromDevicePool(org.onosproject.net.DeviceId deviceId, long applyNum)
LabelResourceStoreapplyFromDevicePool in interface LabelResourceStoredeviceId - device identifierapplyNum - the applying numberpublic boolean releaseToDevicePool(com.google.common.collect.Multimap<org.onosproject.net.DeviceId,LabelResource> release)
LabelResourceStorereleaseToDevicePool in interface LabelResourceStorerelease - the collection of releasing labelspublic boolean isDevicePoolFull(org.onosproject.net.DeviceId deviceId)
LabelResourceStoreisDevicePoolFull in interface LabelResourceStoredeviceId - device identifierpublic long getFreeNumOfDevicePool(org.onosproject.net.DeviceId deviceId)
LabelResourceStoregetFreeNumOfDevicePool in interface LabelResourceStoredeviceId - device identifierpublic LabelResourcePool getDeviceLabelResourcePool(org.onosproject.net.DeviceId deviceId)
LabelResourceStoregetDeviceLabelResourcePool in interface LabelResourceStoredeviceId - device identifierpublic boolean destroyGlobalPool()
LabelResourceStoredestroyGlobalPool in interface LabelResourceStorepublic java.util.Collection<LabelResource> applyFromGlobalPool(long applyNum)
LabelResourceStoreapplyFromGlobalPool in interface LabelResourceStoreapplyNum - apply the number of labelspublic boolean releaseToGlobalPool(java.util.Set<LabelResourceId> release)
LabelResourceStorereleaseToGlobalPool in interface LabelResourceStorerelease - release the collection of releasing labelspublic boolean isGlobalPoolFull()
LabelResourceStoreisGlobalPoolFull in interface LabelResourceStorepublic long getFreeNumOfGlobalPool()
LabelResourceStoregetFreeNumOfGlobalPool in interface LabelResourceStorepublic LabelResourcePool getGlobalLabelResourcePool()
LabelResourceStoregetGlobalLabelResourcePool in interface LabelResourceStore