Class BoundedLocalCache.PerformCleanupTask
- java.lang.Object
-
- java.util.concurrent.ForkJoinTask<java.lang.Void>
-
- com.github.benmanes.caffeine.cache.BoundedLocalCache.PerformCleanupTask
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Runnable,java.util.concurrent.Future<java.lang.Void>
- Enclosing class:
- BoundedLocalCache<K,V>
static final class BoundedLocalCache.PerformCleanupTask extends java.util.concurrent.ForkJoinTask<java.lang.Void> implements java.lang.RunnableA reusable task that performs the maintenance work; used to avoid wrapping by ForkJoinPool.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.lang.ref.WeakReference<BoundedLocalCache<?,?>>referenceprivate static longserialVersionUID
-
Constructor Summary
Constructors Constructor Description PerformCleanupTask(BoundedLocalCache<?,?> cache)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancancel(boolean mayInterruptIfRunning)voidcomplete(java.lang.Void value)voidcompleteExceptionally(java.lang.Throwable ex)booleanexec()java.lang.VoidgetRawResult()This method cannot be ignored due to being final, so a hostile user supplied Executor could forcibly complete the task and halt future executions.voidrun()voidsetRawResult(java.lang.Void v)-
Methods inherited from class java.util.concurrent.ForkJoinTask
adapt, adapt, adapt, compareAndSetForkJoinTaskTag, fork, get, get, getException, getForkJoinTaskTag, getPool, getQueuedTaskCount, getSurplusQueuedTaskCount, helpQuiesce, inForkJoinPool, invoke, invokeAll, invokeAll, invokeAll, isCancelled, isCompletedAbnormally, isCompletedNormally, isDone, join, peekNextLocalTask, pollNextLocalTask, pollSubmission, pollTask, quietlyComplete, quietlyInvoke, quietlyJoin, reinitialize, setForkJoinTaskTag, tryUnfork
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
reference
final java.lang.ref.WeakReference<BoundedLocalCache<?,?>> reference
-
-
Constructor Detail
-
PerformCleanupTask
PerformCleanupTask(BoundedLocalCache<?,?> cache)
-
-
Method Detail
-
exec
public boolean exec()
- Specified by:
execin classjava.util.concurrent.ForkJoinTask<java.lang.Void>
-
run
public void run()
- Specified by:
runin interfacejava.lang.Runnable
-
getRawResult
public java.lang.Void getRawResult()
This method cannot be ignored due to being final, so a hostile user supplied Executor could forcibly complete the task and halt future executions. There are easier ways to intentionally harm a system, so this is assumed to not happen in practice.- Specified by:
getRawResultin classjava.util.concurrent.ForkJoinTask<java.lang.Void>
-
setRawResult
public void setRawResult(java.lang.Void v)
- Specified by:
setRawResultin classjava.util.concurrent.ForkJoinTask<java.lang.Void>
-
complete
public void complete(java.lang.Void value)
- Overrides:
completein classjava.util.concurrent.ForkJoinTask<java.lang.Void>
-
completeExceptionally
public void completeExceptionally(java.lang.Throwable ex)
- Overrides:
completeExceptionallyin classjava.util.concurrent.ForkJoinTask<java.lang.Void>
-
cancel
public boolean cancel(boolean mayInterruptIfRunning)
- Specified by:
cancelin interfacejava.util.concurrent.Future<java.lang.Void>- Overrides:
cancelin classjava.util.concurrent.ForkJoinTask<java.lang.Void>
-
-