예제 #1
0
 internal ExtendedMutatingEngine(Task <IActorRef> mutator, IExtendedDataSource <TData> dataSource, WorkspaceSuperviser superviser)
     : base(mutator, superviser)
 {
     _mutator    = mutator;
     _dataSource = dataSource;
     _superviser = superviser;
     _responder  = new ResponderList(_dataSource.SetData, dataSource.OnCompled);
 }
        public static ExtendedMutatingEngine <TData> From <TData>(IExtendedDataSource <TData> source, WorkspaceSuperviser superviser, Func <Props, Props>?configurate = null)
            where TData : class
        {
            var mutatorProps = Props.Create <MutationActor>();

            mutatorProps = configurate?.Invoke(mutatorProps) ?? mutatorProps;

            var mutator = superviser.Create(mutatorProps, "Mutator");

            return(new ExtendedMutatingEngine <TData>(mutator, source, superviser));
        }
 public static ExtendedMutatingEngine <TData> From <TData>(IExtendedDataSource <TData> source, MutatingEngine parent)
     where TData : class
 => new(parent._mutator, source, parent.Superviser);
 public ContextDataSource(IExtendedDataSource <TData> original) => _original = original;
예제 #5
0
 void IGetSource <TData> .DataSource(IExtendedDataSource <MutatingContext <TData> > source)
 {
     _source = source;
 }
예제 #6
0
 public MutationDataSource(string cacheKey, IExtendedDataSource <TData> original) => _original = original;
예제 #7
0
 void ICanQuery <TData> .DataSource(IExtendedDataSource <MutatingContext <TData> > source)
 => _source = source;