public BatchFactory(TimerQueueProvider batchQueueProvider, IDispatcherPlugin plugin, BatchConfigProvider config, IQueueEvent queueEvent, LocalQueueProvider queueManager) { _batchQueueProvider = batchQueueProvider; _plugin = plugin; _config = config; _queueEvent = queueEvent; _localQueue = queueManager; }
internal BatchToken(LocalQueueProvider queue, TimerQueueProvider timeQueueProvider, IQueueEvent queueEvent, ManualResetEventSlim manualResetEventSlim, BatchConfigProvider batchConfig) { _cancellationTokenSource = new CancellationTokenSource(); _queue = queue; _timerQueueProvider = timeQueueProvider; _queueEvent = queueEvent; _triggerAllCompleted = manualResetEventSlim; _batchConfig = batchConfig; }
public static IBatchFactory Batch(this IDispatcherPlugin dispatcherPlugin, Action <IBatchQueueBuilder> action) { var config = new Dictionary <Type, BatchConfig>(); var builder = new BatchQueueBuilder(config); action(builder); var batchConfigProvider = new BatchConfigProvider(config); var queueProvider = new LocalQueueBuilder(batchConfigProvider).Build(); IQueueEvent queueEvent = new QueueEventBasic(); if (batchConfigProvider.Find(p => p.Value.TriggerCount > 0).Any()) { queueEvent = new QueueEventUnique(batchConfigProvider, queueEvent); } var batchProvider = new TimerQueueProvider(batchConfigProvider, queueEvent, queueProvider); return(new BatchFactory(batchProvider, dispatcherPlugin, batchConfigProvider, queueEvent, queueProvider)); }
public LocalQueueBuilder(BatchConfigProvider config) { _config = config; }
public LocalQueueProvider(ConcurrentDictionary <Type, ConcurrentQueue <object> > queue, BatchConfigProvider config) { _queue = queue; _config = config; }
public TimerQueueProvider(BatchConfigProvider config, IQueueEvent queueEvent, LocalQueueProvider localQueueProvider) { _config = config; _queueEvent = queueEvent; _localQueueProvider = localQueueProvider; }