public MachineStatusRepositoryWithCache(InfluxClient client, string databaseName, TimeSpan cacheWriteInterval, ILogger logger = null) : base(logger) { repository = new MachineStatusRepository(client, databaseName); cacheWriteTimer = new NonReentrantTimer(cacheWriteInterval.TotalMilliseconds); cacheWriteTimer.Elapsed += CacheWriteTimer_Elapsed; cacheWriteTimer.Start(); }
public RepositoryWithCacheBase(R repository, TimeSpan cacheWriteInterval, ILogger logger = null) : base(logger) { _repository = repository; cacheWriteTimer = new NonReentrantTimer(cacheWriteInterval.TotalMilliseconds); cacheWriteTimer.Elapsed += CacheWriteTimer_Elapsed; cacheWriteTimer.Start(); }
//init public ConditionWaiter(Func <bool> conditionCheck) { _conditionCheck = conditionCheck; TimeSpan defaultInterval = TimeSpan.FromMilliseconds(100); _timer = new NonReentrantTimer(TimerCallback, defaultInterval, false); _stopEventHandle = new ManualResetEventSlim(false); }
//init public Sender(SenderState <TKey> hubState, IEventQueue <TKey> eventQueue, IDispatchQueue <TKey> dispatchQueue, IEnumerable <IRegularJob> regularJobs, IEnumerable <ISignalProviderControl> signalEndpoints) { _hubState = hubState; _regularJobs = regularJobs.ToList(); _eventQueue = eventQueue; _dispatchQueue = dispatchQueue; _signalEndpoints = signalEndpoints.ToList(); _regularJobTimers = _regularJobs.Select(x => new NonReentrantTimer(x.Tick , NotificationsConstants.REGULAR_JOB_TICK_INTERVAL, intervalFromCallbackStarted: false)) .ToList(); _stopMonitorTimer = new NonReentrantTimer(StopTimers , NotificationsConstants.REGULAR_JOB_TICK_INTERVAL, intervalFromCallbackStarted: false); _stopEventHandle = new ManualResetEventSlim(false); }
public StatusFetcher(IMachineRepository repository, TimeSpan pollTimeInterval, List <MachineKey> machineKeys) { _repository = repository; SubscribedMachines = new SourceList <MachineKey>(); SubscribedMachines.AddRange(machineKeys); MachineStatuses = new SourceList <MachineStatus>(); machineKeys.ForEach(x => { MachineStatuses.Add(new MachineStatus() { Line = x.Line, Name = x.Name, Status = Status.Unknown }); }); _timer = new NonReentrantTimer(pollTimeInterval.TotalMilliseconds); _timer.Elapsed += Timer_Elapsed; }