private static void Increase(IPollingTimeout timeout, int count) { for (var i = 0; i < count; i++) { timeout.Increase(); } }
public PollingJob(string jobName, IPollingTimeout timeout) { Require.NotEmpty(jobName, nameof(jobName)); Require.NotNull(timeout, nameof(jobName)); m_jobName = jobName; m_timeout = timeout; }
private async Task PollingCycle(IPollingTimeout timeout, PollingFunction func, CancellationToken token) { await Task.Yield(); while (!token.IsCancellationRequested) { if (await func(token).ContinueWith(OnJobFunctionCompleted)) { timeout.Reset(); await timeout.WaitAsync(token); } else { await timeout.WaitAsync(token); timeout.Increase(); } } }