public Kernel(MemstateSettings config, object model) { _logger = config.CreateLogger <Kernel>(); _model = model; _lock = new ReaderWriterLockSlim(LockRecursionPolicy.NoRecursion); _logger.LogInformation("Created Kernel"); }
public Batcher(MemstateSettings config, Action <IEnumerable <T> > batchHandler) { _logger = config.CreateLogger <Batcher <T> >(); _batchHandler = batchHandler; _maxBatchSize = config.MaxBatchSize; _items = new BlockingCollection <T>(config.MaxBatchQueueLength); _batchTask = new Task(ProcessItems, TaskCreationOptions.LongRunning); _batchTask.Start(); }
public Engine( MemstateSettings config, TModel model, IJournalSubscriptionSource subscriptionSource, IJournalWriter journalWriter, long nextRecord) { _lastRecordNumber = nextRecord - 1; _logger = config.CreateLogger <Engine <TModel> >(); _kernel = new Kernel(config, model); _journalWriter = journalWriter; _pendingLocalCommands = new ConcurrentDictionary <Guid, TaskCompletionSource <object> >(); _commandSubscription = subscriptionSource.Subscribe(nextRecord, ApplyRecord); }
public Engine( MemstateSettings settings, TModel model, IJournalSubscriptionSource subscriptionSource, IJournalWriter journalWriter, long nextRecord) { _lastRecordNumber = nextRecord - 1; _logger = settings.CreateLogger <Engine <TModel> >(); _kernel = new Kernel(settings, model); _settings = settings; _journalWriter = journalWriter; _pendingLocalCommands = new ConcurrentDictionary <Guid, TaskCompletionSource <object> >(); _commandSubscription = subscriptionSource.Subscribe(nextRecord, OnRecordReceived); _metrics = new EngineMetrics(settings); }