Class GuardedSynchronizationJob<TLeft, TRight>
- Namespace
- NMF.Synchronizations
- Assembly
- NMF.Synchronizations.dll
Denotes the base class for a synchronization job that is filtered by a guard
public abstract class GuardedSynchronizationJob<TLeft, TRight> : ISynchronizationJob<TLeft, TRight>
Type Parameters
TLeft
The LHS type of the guard
TRight
The RHS type of the guard
- Inheritance
-
GuardedSynchronizationJob<TLeft, TRight>
- Implements
-
ISynchronizationJob<TLeft, TRight>
- Derived
- Inherited Members
Constructors
GuardedSynchronizationJob(ISynchronizationJob<TLeft, TRight>)
Creates a new guarded synchronization job
public GuardedSynchronizationJob(ISynchronizationJob<TLeft, TRight> inner)
Parameters
inner
ISynchronizationJob<TLeft, TRight>The inner synchronization job
Properties
IsEarly
True, if the job must be executed before any dependency, otherwise False
public bool IsEarly { get; }
Property Value
Methods
CreateTracker(SynchronizationComputation<TLeft, TRight>)
Creates a tracker for the given computation
protected abstract INotifyValue<bool> CreateTracker(SynchronizationComputation<TLeft, TRight> computation)
Parameters
computation
SynchronizationComputation<TLeft, TRight>The computation that shall be tracked
Returns
Perform(SynchronizationComputation<TLeft, TRight>, SynchronizationDirection, ISynchronizationContext)
Performs the job
public IDisposable Perform(SynchronizationComputation<TLeft, TRight> computation, SynchronizationDirection direction, ISynchronizationContext context)
Parameters
computation
SynchronizationComputation<TLeft, TRight>The correspondence
direction
SynchronizationDirectionThe direction of the synchronization
context
ISynchronizationContextThe context of the synchronization
Returns
- IDisposable
A disposable that will be disposed once the correspondence is broken or null