4 implementations of ITimer
Microsoft.Extensions.TimeProvider.Testing (1)
Timer.cs (1)
14
internal sealed class Timer :
ITimer
System.Private.CoreLib (3)
src\libraries\Common\src\System\TimeProvider.cs (1)
178
private sealed class SystemTimeProviderTimer :
ITimer
src\libraries\System.Private.CoreLib\src\System\Threading\Timer.cs (2)
451
internal sealed class TimerQueueTimer :
ITimer
, IThreadPoolWorkItem
825
public 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)
22
private
ITimer
? _cleanupTimer;
ServiceEndpointResolver.cs (1)
21
private
ITimer
? _cleanupTimer;
ServiceEndpointWatcher.cs (1)
31
private
ITimer
? _pollingTimer;
Microsoft.Extensions.TimeProvider.Testing (1)
FakeTimeProvider.cs (1)
206
public override
ITimer
CreateTimer(TimerCallback callback, object? state, TimeSpan dueTime, TimeSpan period)
Microsoft.Extensions.TimeProvider.Testing.Tests (18)
FakeTimeProviderTests.cs (4)
229
var
t1 = tp.CreateTimer(_ =>
256
var
t1 = tp.CreateTimer(_ =>
488
var
timer = timeProvider.CreateTimer(_ =>
505
using
var
timer = provider.CreateTimer(calls.Add, "timer-1", TimeSpan.FromSeconds(3), TimeSpan.Zero);
TimerTests.cs (14)
25
using
var
timer = timeProvider.CreateTimer(_ => { counter++; }, null, TimeSpan.FromMilliseconds(10), TimeSpan.Zero);
47
using
var
timer = timeProvider.CreateTimer(_ => { counter++; }, null, TimeSpan.FromMilliseconds(10), Timeout.InfiniteTimeSpan);
69
using
var
timer = timeProvider.CreateTimer(_ => { counter++; }, null, TimeSpan.Zero, Timeout.InfiniteTimeSpan);
91
var
timer = timeProvider.CreateTimer(_ => { counter++; }, null, Timeout.InfiniteTimeSpan, TimeSpan.FromMilliseconds(10));
113
var
timer = timeProvider.CreateTimer(_ => { counter++; }, null, TimeSpan.Zero, TimeSpan.FromMilliseconds(10));
190
var
timer1 = timeProvider.CreateTimer(_ => timer1Counter++, null, TimeSpan.FromMilliseconds(1), TimeSpan.FromMilliseconds(1));
191
var
timer2 = timeProvider.CreateTimer(_ => timer2Counter++, null, TimeSpan.FromMilliseconds(1), TimeSpan.FromMilliseconds(1));
253
using
var
timer = timeProvider.CreateTimer(_ => { callbackTime = timeProvider.GetUtcNow(); }, null, TimeSpan.Zero, TimeSpan.FromMilliseconds(10));
276
var
timer = timeProvider.CreateTimer(_ => { callbackTimes.Add(timeProvider.GetUtcNow()); }, null, TimeSpan.Zero, period);
301
using
var
timer1 = timeProvider.CreateTimer(_ => callbacks.Add((1, timeProvider.GetElapsedTime(startTime))), null, TimeSpan.FromMilliseconds(3), TimeSpan.FromMilliseconds(3));
302
using
var
timer2 = timeProvider.CreateTimer(_ => callbacks.Add((2, timeProvider.GetElapsedTime(startTime))), null, TimeSpan.FromMilliseconds(3), TimeSpan.FromMilliseconds(3));
303
using
var
timer3 = timeProvider.CreateTimer(_ => callbacks.Add((3, timeProvider.GetElapsedTime(startTime))), null, TimeSpan.FromMilliseconds(6), TimeSpan.FromMilliseconds(5));
334
var timers = new List<
ITimer
>();
360
foreach (
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"/>
160
public virtual
ITimer
CreateTimer(TimerCallback callback, object? state, TimeSpan dueTime, TimeSpan period)
src\libraries\System.Private.CoreLib\src\System\Threading\CancellationTokenSource.cs (5)
43
private volatile
ITimer
? _timer;
440
ITimer
? timer = _timer;
448
ITimer
? currentTimer = Interlocked.CompareExchange(ref _timer, timer, null);
546
ITimer
? timer = _timer;
714
ITimer
? timer = _timer;
src\libraries\System.Private.CoreLib\src\System\Threading\PeriodicTimer.cs (1)
21
private readonly
ITimer
_timer;
src\libraries\System.Private.CoreLib\src\System\Threading\Tasks\Task.cs (2)
2860
private readonly
ITimer
? _timer;
5794
private 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
))]