public TplDataflowEngine(M model, int batchSize, IJournalWriter journalWriter) { var kernel = new Kernel(model); _executionPipeline = new ExecutionPipeline(kernel); _journaler = new TplBatchingJournaler(journalWriter, _executionPipeline, batchSize); }
public TplBatchingJournaler(IJournalWriter journalWriter, ExecutionPipeline dispatcher, int batchSize) { Interval = TimeSpan.FromMilliseconds(16); _journalWriter = journalWriter; _dispatcher = dispatcher; _writerBlock = new ActionBlock<CommandRequest[]>(batch => Go(batch)); _requestQueue = new BatchBlock<CommandRequest>(batchSize); _requestQueue.LinkTo(_writerBlock); }
public TplBatchingJournaler(IJournalWriter journalWriter, ExecutionPipeline dispatcher, int batchSize) { Interval = TimeSpan.FromMilliseconds(16); _journalWriter = journalWriter; _dispatcher = dispatcher; _writerBlock = new ActionBlock <CommandRequest[]>(batch => Go(batch)); _requestQueue = new BatchBlock <CommandRequest>(batchSize); _requestQueue.LinkTo(_writerBlock); }