Esempio n. 1
0
 public void OnInvalidate(IPipelineInvalidator invalidator)
 {
     InvalidateDatum = Interlocked.Increment(ref InvalidateDatumSource);
     Invalidations++;
     InvalidatedStages = new HashSet <IPipelineStage>(invalidator.AllInvalidatedStages);
     invalidator.InvalidateAllDependentStages(this);
 }
Esempio n. 2
0
        public void OnInvalidate(IPipelineInvalidator invalidator)
        {
            var invalidateFromInput = invalidator.IsInvalidated(Input);
            var shouldInvalidate    = HasPendingInvalidate || invalidateFromInput;

            switch (SuspensionState)
            {
            case PipelineSuspensionState.Resume:
                HasPendingInvalidate = false;
                break;

            case PipelineSuspensionState.Suspend:
                HasPendingInvalidate = shouldInvalidate;
                shouldInvalidate     = false;
                break;

            case PipelineSuspensionState.ResumeWithoutPendingInvalidates:
                HasPendingInvalidate = false;
                shouldInvalidate     = invalidateFromInput;
                break;
            }

            if (shouldInvalidate)
            {
                invalidator.InvalidateAllDependentStages(this);
            }
            else
            {
                invalidator.Revalidate(this);
            }
        }
        public void OnInvalidate(IPipelineInvalidator invalidator)
        {
            var newValue = Input.GetValue();

            CurrentDelta = DeltaExtractor(OldValue, newValue);
            OldValue     = newValue;
            invalidator.InvalidateAllDependentStages(this);
        }
Esempio n. 4
0
 public void OnInvalidate(IPipelineInvalidator invalidator)
 {
     if (MutuallyExclusiveWith.Any(invalidator.IsInvalidated))
     {
         invalidator.Revalidate(this);
     }
     else
     {
         invalidator.InvalidateAllDependentStages(this);
     }
 }
Esempio n. 5
0
        public void OnInvalidate(IPipelineInvalidator invalidator)
        {
            var selfInvalidated = !invalidator.AllInvalidatedStages.Skip(1).Any() && invalidator.IsInvalidated(this);

            var selectedInput = GetSelectedOutput();

            if (invalidator.IsInvalidated(Select) || invalidator.IsInvalidated(selectedInput) || selfInvalidated)
            {
                invalidator.InvalidateAllDependentStages(this);
            }
            else
            {
                invalidator.Revalidate(this);
            }
        }
		public void OnInvalidate(IPipelineInvalidator invalidator)
		{
			invalidator.InvalidateAllDependentStages(this);
			InvokeReaction(Input1.GetValue(), Input2.GetValue());
		}
 public void OnInvalidate(IPipelineInvalidator invalidator) => invalidator.InvalidateAllDependentStages(this);
Esempio n. 8
0
 public void OnInvalidate(IPipelineInvalidator invalidator)
 {
 }
 public void OnInvalidate(IPipelineInvalidator invalidator)
 {
     LastInvalidationInformation = Extractor(invalidator);
     invalidator.InvalidateAllDependentStages(this);
 }
Esempio n. 10
0
 /// <summary>
 /// Handles invalidation of the operation stage, and reacts as appropriate.
 /// </summary>
 /// <param name="invalidator">The invalidator.</param>
 public void OnInvalidate(IPipelineInvalidator invalidator)
 {
     invalidator.InvalidateAllDependentStages(this);
     Reaction(Input1.GetValue(), Input2.GetValue(), Input3.GetValue(), Input4.GetValue(), Input5.GetValue(), Input6.GetValue(), Input7.GetValue(), Input8.GetValue());
 }
Esempio n. 11
0
 public void OnInvalidate(IPipelineInvalidator invalidator)
 {
     Input.GetValue();
     invalidator.InvalidateAllDependentStages(this);
 }
 public void OnInvalidate(IPipelineInvalidator invalidator)
 {
     invalidator.InvalidateAllDependentStages(this);
     Reaction();
 }