Package com.complexible.common.cancellation
-
Interface Summary Interface Description CancelCheck Cancellable Interface for classes supporting cancellable computation.CancellationManager.CheckedFunction<T,R> Callable which may throw an exception.CancellationPoint Interface for cancellation points; We create cancellation point in one place and have a contract that we don't dispose system or don't drop database while the point is active and actual; -
Class Summary Class Description CancellationManager This is general abstraction to make 5 main functions: 1) Create cancellation point for specific database; Locks global mutex in readLock mode; Locks database-related mutex in readLock mode; 2) Execute exclusive database operation for specific database; Locks global mutex in readLock mode; Locks database-related mutex in writeLock mode; So it is impossible to create new cancellation point or to execute critical section while this lock is acquired; 3) Unregister cancellation point; Does not have locks with other operations; 4) Cancel cancellation points; Does not have locks with other operations; 5) Dispose cancellation manager (for all databases); Locks global mutex in write lock mode; It will be impossible to run all parallel methods during dispose;CancellationUtil Utility methods for monitoring and cancellation of abstract processes.DefaultCancellationPoint DelegatingCancellationPoint DummyCancellationPoint TimeoutCancelCheck A cancellation check that cancels automatically if a timeout has been reached or delegates to another check timeout has not occurred.