Exemple #1
0
        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);
        }
Exemple #3
0
        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);
        }