Class StampedLockManager.Cache<T>
- java.lang.Object
-
- org.eclipse.rdf4j.common.concurrent.locks.StampedLockManager.Cache<T>
-
- Enclosing class:
- StampedLockManager
public static class StampedLockManager.Cache<T> extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classStampedLockManager.Cache.OptimisticStateclassStampedLockManager.Cache.ReadableStateclassStampedLockManager.Cache.WritableState
-
Field Summary
Fields Modifier and Type Field Description private Tdataprivate java.util.function.Supplier<T>dataSupplierprivate StampedLockManagerstampedLockManager
-
Constructor Summary
Constructors Constructor Description Cache(StampedLockManager stampedLockManager, java.util.function.Supplier<T> dataSupplier)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StampedLockManager.Cache.OptimisticStategetOptimisticState()StampedLockManager.Cache.ReadableStategetReadState()StampedLockManager.Cache.WritableStategetWriteState()private voidrefreshCacheIfNeeded()private LockrefreshCacheIfNeeded(Lock readLock)voidwarmUp()
-
-
-
Field Detail
-
dataSupplier
private final java.util.function.Supplier<T> dataSupplier
-
data
private volatile T data
-
stampedLockManager
private final StampedLockManager stampedLockManager
-
-
Constructor Detail
-
Cache
public Cache(StampedLockManager stampedLockManager, java.util.function.Supplier<T> dataSupplier)
-
-
Method Detail
-
getReadState
public StampedLockManager.Cache.ReadableState getReadState() throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
refreshCacheIfNeeded
private Lock refreshCacheIfNeeded(Lock readLock) throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
refreshCacheIfNeeded
private void refreshCacheIfNeeded() throws java.lang.InterruptedException- Throws:
java.lang.InterruptedException
-
getWriteState
public StampedLockManager.Cache.WritableState getWriteState() throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
getOptimisticState
public StampedLockManager.Cache.OptimisticState getOptimisticState() throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
warmUp
public void warmUp() throws java.lang.InterruptedException- Throws:
java.lang.InterruptedException
-
-