internal void Synchronize(SynchronizationComputation <TLeft, TRight> computation, SynchronizationDirection direction, ISynchronizationContext context) { var dependencies = computation.Dependencies; foreach (var job in SynchronizationJobs.Where(j => !j.IsEarly)) { var dependency = job.Perform(computation, direction, context); if (dependency != null) { dependencies.Add(dependency); } } }
internal void InitializeOutput(SynchronizationComputation <TLeft, TRight> computation) { var context = computation.SynchronizationContext; var dependencies = computation.Dependencies; foreach (var job in SynchronizationJobs.Where(j => j.IsEarly)) { var dependency = job.Perform(computation, context.Direction, context); if (dependency != null) { dependencies.Add(dependency); } } }