Class IdUtils
- java.lang.Object
- 
- org.opendaylight.genius.idmanager.IdUtils
 
- 
 @Singleton public class IdUtils extends java.lang.Object
- 
- 
Field SummaryFields Modifier and Type Field Description static longDEFAULT_DELAY_TIMEstatic intRETRY_COUNT
 - 
Constructor SummaryConstructors Constructor Description IdUtils()
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description longcomputeBlockSize(long low, long high)AvailableIdsHoldercreateAvailableIdsHolder(long low, long high, long cursor)protected ChildPoolscreateChildPool(java.lang.String childPoolName)DelayedIdEntriescreateDelayedIdEntry(long idValue, long delayTime)protected IdPoolcreateGlobalPool(java.lang.String poolName, long low, long high, long blockSize)IdEntriescreateIdEntries(java.lang.String idKey, java.util.List<org.opendaylight.yangtools.yang.common.Uint32> newIdVals)protected ReleasedIdsHoldercreateReleasedIdsHolder(long availableIdCount, long delayTime)voiddecrementPoolUpdatedMap(java.lang.String localPoolName)voidfreeExcessAvailableIds(ReleasedIdHolder releasedIdHolder, ReleasedIdsHolderBuilder releasedIdsParent, long idCountToBeFreed)Changes made to the parameters passed are not persisted to the Datastore.longgetAvailableIdsCount(AvailableIdsHolderBuilder availableIds)protected AvailableIdsHolderBuildergetAvailableIdsHolderBuilder(IdPool pool)protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ChildPools>getChildPoolsInstanceIdentifier(java.lang.String poolName, java.lang.String localPoolName)org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IdEntries>getIdEntriesInstanceIdentifier(java.lang.String poolName, java.lang.String idKey)org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IdEntries>getIdEntry(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IdPool> poolName, java.lang.String idKey)org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IdPool>getIdPoolInstance(java.lang.String poolName)org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IdPools>getIdPools()java.lang.StringgetLocalPoolName(java.lang.String poolName)booleangetPoolUpdatedMap(java.lang.String localPoolName)org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ReleasedIdsHolder>getReleasedIdsHolderInstance(java.lang.String poolName)java.util.concurrent.CountDownLatchgetReleaseIdLatch(java.lang.String uniqueIdKey)protected static ReleasedIdsHolderBuildergetReleaseIdsHolderBuilder(IdPool pool)java.lang.StringgetUniqueKey(java.lang.String parentPoolName, java.lang.String idKey)voidincrementPoolUpdatedMap(java.lang.String localPoolName)protected booleanisIdAvailable(AvailableIdsHolderBuilder availableIds)voidlock(LockManagerService lockManager, java.lang.String poolName)java.util.concurrent.CompletableFuture<java.util.List<org.opendaylight.yangtools.yang.common.Uint32>>putAllocatedIdsIfAbsent(java.lang.String uniqueIdKey, java.util.concurrent.CompletableFuture<java.util.List<org.opendaylight.yangtools.yang.common.Uint32>> futureIdValues)voidputReleaseIdLatch(java.lang.String uniqueIdKey, java.util.concurrent.CountDownLatch latch)java.util.concurrent.CompletableFuture<java.util.List<org.opendaylight.yangtools.yang.common.Uint32>>removeAllocatedIds(java.lang.String uniqueIdKey)voidremoveFromPoolUpdatedMap(java.lang.String localPoolName)java.util.concurrent.CountDownLatchremoveReleaseIdLatch(java.lang.String uniqueIdKey)voidsyncAvailableIdHolder(AvailableIdHolder availableIdHolder, IdPoolBuilder idPool)voidsyncReleaseIdHolder(ReleasedIdHolder releasedIdHolder, IdPoolBuilder idPool)voidunlock(LockManagerService lockManager, java.lang.String poolName)voidupdateChildPool(TypedWriteTransaction<Datastore.Configuration> tx, java.lang.String poolName, java.lang.String localPoolName)
 
- 
- 
- 
Field Detail- 
DEFAULT_DELAY_TIMEpublic static final long DEFAULT_DELAY_TIME - See Also:
- Constant Field Values
 
 - 
RETRY_COUNTpublic static final int RETRY_COUNT - See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
removeAllocatedIdspublic java.util.concurrent.CompletableFuture<java.util.List<org.opendaylight.yangtools.yang.common.Uint32>> removeAllocatedIds(java.lang.String uniqueIdKey) 
 - 
putAllocatedIdsIfAbsentpublic java.util.concurrent.CompletableFuture<java.util.List<org.opendaylight.yangtools.yang.common.Uint32>> putAllocatedIdsIfAbsent(java.lang.String uniqueIdKey, java.util.concurrent.CompletableFuture<java.util.List<org.opendaylight.yangtools.yang.common.Uint32>> futureIdValues)
 - 
putReleaseIdLatchpublic void putReleaseIdLatch(java.lang.String uniqueIdKey, java.util.concurrent.CountDownLatch latch)
 - 
getReleaseIdLatchpublic java.util.concurrent.CountDownLatch getReleaseIdLatch(java.lang.String uniqueIdKey) 
 - 
removeReleaseIdLatchpublic java.util.concurrent.CountDownLatch removeReleaseIdLatch(java.lang.String uniqueIdKey) 
 - 
getIdEntrypublic org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IdEntries> getIdEntry(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IdPool> poolName, java.lang.String idKey) 
 - 
createIdEntriespublic IdEntries createIdEntries(java.lang.String idKey, java.util.List<org.opendaylight.yangtools.yang.common.Uint32> newIdVals) 
 - 
createDelayedIdEntrypublic DelayedIdEntries createDelayedIdEntry(long idValue, long delayTime) 
 - 
createGlobalPoolprotected IdPool createGlobalPool(java.lang.String poolName, long low, long high, long blockSize) 
 - 
createAvailableIdsHolderpublic AvailableIdsHolder createAvailableIdsHolder(long low, long high, long cursor) 
 - 
createReleasedIdsHolderprotected ReleasedIdsHolder createReleasedIdsHolder(long availableIdCount, long delayTime) 
 - 
getIdPoolInstancepublic org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IdPool> getIdPoolInstance(java.lang.String poolName) 
 - 
getReleasedIdsHolderInstancepublic org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ReleasedIdsHolder> getReleasedIdsHolderInstance(java.lang.String poolName) 
 - 
isIdAvailableprotected boolean isIdAvailable(AvailableIdsHolderBuilder availableIds) 
 - 
getLocalPoolNamepublic java.lang.String getLocalPoolName(java.lang.String poolName) 
 - 
createChildPoolprotected ChildPools createChildPool(java.lang.String childPoolName) 
 - 
getAvailableIdsHolderBuilderprotected AvailableIdsHolderBuilder getAvailableIdsHolderBuilder(IdPool pool) 
 - 
getReleaseIdsHolderBuilderprotected static ReleasedIdsHolderBuilder getReleaseIdsHolderBuilder(IdPool pool) 
 - 
freeExcessAvailableIdspublic void freeExcessAvailableIds(ReleasedIdHolder releasedIdHolder, ReleasedIdsHolderBuilder releasedIdsParent, long idCountToBeFreed) Changes made to the parameters passed are not persisted to the Datastore. Method invoking should ensure that these gets persisted.
 - 
getIdEntriesInstanceIdentifierpublic org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IdEntries> getIdEntriesInstanceIdentifier(java.lang.String poolName, java.lang.String idKey) 
 - 
getChildPoolsInstanceIdentifierprotected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ChildPools> getChildPoolsInstanceIdentifier(java.lang.String poolName, java.lang.String localPoolName) 
 - 
computeBlockSizepublic long computeBlockSize(long low, long high)
 - 
getAvailableIdsCountpublic long getAvailableIdsCount(AvailableIdsHolderBuilder availableIds) 
 - 
lockpublic void lock(LockManagerService lockManager, java.lang.String poolName) throws IdManagerException - Throws:
- IdManagerException
 
 - 
unlockpublic void unlock(LockManagerService lockManager, java.lang.String poolName) 
 - 
getIdPoolspublic org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IdPools> getIdPools() 
 - 
syncReleaseIdHolderpublic void syncReleaseIdHolder(ReleasedIdHolder releasedIdHolder, IdPoolBuilder idPool) 
 - 
syncAvailableIdHolderpublic void syncAvailableIdHolder(AvailableIdHolder availableIdHolder, IdPoolBuilder idPool) 
 - 
updateChildPoolpublic void updateChildPool(TypedWriteTransaction<Datastore.Configuration> tx, java.lang.String poolName, java.lang.String localPoolName) 
 - 
incrementPoolUpdatedMappublic void incrementPoolUpdatedMap(java.lang.String localPoolName) 
 - 
decrementPoolUpdatedMappublic void decrementPoolUpdatedMap(java.lang.String localPoolName) 
 - 
getPoolUpdatedMappublic boolean getPoolUpdatedMap(java.lang.String localPoolName) 
 - 
removeFromPoolUpdatedMappublic void removeFromPoolUpdatedMap(java.lang.String localPoolName) 
 - 
getUniqueKeypublic java.lang.String getUniqueKey(java.lang.String parentPoolName, java.lang.String idKey)
 
- 
 
-