4 implementations of ITimer
Microsoft.Extensions.TimeProvider.Testing (1)
Timer.cs (1)
14internal sealed class Timer : ITimer
System.Private.CoreLib (3)
src\libraries\Common\src\System\TimeProvider.cs (1)
178private sealed class SystemTimeProviderTimer : ITimer
src\libraries\System.Private.CoreLib\src\System\Threading\Timer.cs (2)
451internal sealed class TimerQueueTimer : ITimer, IThreadPoolWorkItem 825public sealed class Timer : MarshalByRefObject, IDisposable, IAsyncDisposable, ITimer
40 references to ITimer
Microsoft.Bcl.TimeProvider (1)
Microsoft.Bcl.TimeProvider.Forwards.cs (1)
5[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Threading.ITimer))]
Microsoft.Extensions.ServiceDiscovery (3)
Http\HttpServiceEndpointResolver.cs (1)
22private ITimer? _cleanupTimer;
ServiceEndpointResolver.cs (1)
21private ITimer? _cleanupTimer;
ServiceEndpointWatcher.cs (1)
31private ITimer? _pollingTimer;
Microsoft.Extensions.TimeProvider.Testing (1)
FakeTimeProvider.cs (1)
206public override ITimer CreateTimer(TimerCallback callback, object? state, TimeSpan dueTime, TimeSpan period)
Microsoft.Extensions.TimeProvider.Testing.Tests (18)
FakeTimeProviderTests.cs (4)
229var t1 = tp.CreateTimer(_ => 256var t1 = tp.CreateTimer(_ => 488var timer = timeProvider.CreateTimer(_ => 505using var timer = provider.CreateTimer(calls.Add, "timer-1", TimeSpan.FromSeconds(3), TimeSpan.Zero);
TimerTests.cs (14)
25using var timer = timeProvider.CreateTimer(_ => { counter++; }, null, TimeSpan.FromMilliseconds(10), TimeSpan.Zero); 47using var timer = timeProvider.CreateTimer(_ => { counter++; }, null, TimeSpan.FromMilliseconds(10), Timeout.InfiniteTimeSpan); 69using var timer = timeProvider.CreateTimer(_ => { counter++; }, null, TimeSpan.Zero, Timeout.InfiniteTimeSpan); 91var timer = timeProvider.CreateTimer(_ => { counter++; }, null, Timeout.InfiniteTimeSpan, TimeSpan.FromMilliseconds(10)); 113var timer = timeProvider.CreateTimer(_ => { counter++; }, null, TimeSpan.Zero, TimeSpan.FromMilliseconds(10)); 190var timer1 = timeProvider.CreateTimer(_ => timer1Counter++, null, TimeSpan.FromMilliseconds(1), TimeSpan.FromMilliseconds(1)); 191var timer2 = timeProvider.CreateTimer(_ => timer2Counter++, null, TimeSpan.FromMilliseconds(1), TimeSpan.FromMilliseconds(1)); 253using var timer = timeProvider.CreateTimer(_ => { callbackTime = timeProvider.GetUtcNow(); }, null, TimeSpan.Zero, TimeSpan.FromMilliseconds(10)); 276var timer = timeProvider.CreateTimer(_ => { callbackTimes.Add(timeProvider.GetUtcNow()); }, null, TimeSpan.Zero, period); 301using var timer1 = timeProvider.CreateTimer(_ => callbacks.Add((1, timeProvider.GetElapsedTime(startTime))), null, TimeSpan.FromMilliseconds(3), TimeSpan.FromMilliseconds(3)); 302using var timer2 = timeProvider.CreateTimer(_ => callbacks.Add((2, timeProvider.GetElapsedTime(startTime))), null, TimeSpan.FromMilliseconds(3), TimeSpan.FromMilliseconds(3)); 303using var timer3 = timeProvider.CreateTimer(_ => callbacks.Add((3, timeProvider.GetElapsedTime(startTime))), null, TimeSpan.FromMilliseconds(6), TimeSpan.FromMilliseconds(5)); 334var timers = new List<ITimer>(); 360foreach (var timer in timers)
System.Private.CoreLib (16)
src\libraries\Common\src\System\Threading\ITimer.cs (1)
15/// A <see cref="TimeSpan"/> representing the amount of time to delay before invoking the callback method specified when the <see cref="ITimer"/> was constructed.
src\libraries\Common\src\System\TimeProvider.cs (7)
127/// <summary>Creates a new <see cref="ITimer"/> instance, using <see cref="TimeSpan"/> values to measure time intervals.</summary> 136/// The newly created <see cref="ITimer"/> instance. 146/// but can be re-enabled by calling the <see cref="ITimer.Change"/> method. 150/// but can be re-enabled using the <see cref="ITimer.Change"/> method. 153/// The return <see cref="ITimer"/> instance will be implicitly rooted while the timer is still scheduled. 156/// <see cref="CreateTimer"/> captures the <see cref="ExecutionContext"/> and stores that with the <see cref="ITimer"/> for use in invoking <paramref name="callback"/> 160public virtual ITimer CreateTimer(TimerCallback callback, object? state, TimeSpan dueTime, TimeSpan period)
src\libraries\System.Private.CoreLib\src\System\Threading\CancellationTokenSource.cs (5)
43private volatile ITimer? _timer; 440ITimer? timer = _timer; 448ITimer? currentTimer = Interlocked.CompareExchange(ref _timer, timer, null); 546ITimer? timer = _timer; 714ITimer? timer = _timer;
src\libraries\System.Private.CoreLib\src\System\Threading\PeriodicTimer.cs (1)
21private readonly ITimer _timer;
src\libraries\System.Private.CoreLib\src\System\Threading\Tasks\Task.cs (2)
2860private readonly ITimer? _timer; 5794private readonly ITimer? _timer;
System.Runtime (1)
artifacts\obj\System.Runtime\Debug\net10.0\System.Runtime.Forwards.cs (1)
808[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Threading.ITimer))]