Package org.elasticsearch.common.util
Class CancellableThreads
java.lang.Object
org.elasticsearch.common.util.CancellableThreads
A utility class for multi threaded operation that needs to be cancellable via interrupts. Every cancellable operation should be
 executed via 
execute(Interruptible), which will capture the executing thread and make sure it is interrupted in the case
 of cancellation.
 Cancellation policy: This class does not support external interruption via Thread#interrupt(). Always use #cancel() instead.- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic interfacestatic interface - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionvoidcancel all current running operations.voidvoidexecute(CancellableThreads.Interruptible interruptible)run the Interruptible, capturing the executing thread.booleanvoidsetOnCancel(CancellableThreads.OnCancel onCancel)Registers a callback that will be invoked when some running operations are cancelled orcheckForCancel()is called. 
- 
Constructor Details
- 
CancellableThreads
public CancellableThreads() 
 - 
 - 
Method Details
- 
isCancelled
public boolean isCancelled() - 
checkForCancel
public void checkForCancel() - 
execute
run the Interruptible, capturing the executing thread. Concurrent calls tocancel(String)will interrupt this thread causing the call to prematurely return.- Parameters:
 interruptible- code to run
 - 
cancel
cancel all current running operations. Future calls tocheckForCancel()will be failed with the given reason - 
setOnCancel
Registers a callback that will be invoked when some running operations are cancelled orcheckForCancel()is called. 
 -