Skip to content

Commit 1b7fc65

Browse files
committed
fix: add debugger display to ManualTimer
1 parent 661de5a commit 1b7fc65

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/TimeProviderExtensions/ManualTimeProvider.ManualTimer.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System.Diagnostics;
12
using System.Runtime.CompilerServices;
23

34
namespace TimeProviderExtensions;
@@ -9,10 +10,13 @@ namespace TimeProviderExtensions;
910
/// Learn more at <see href="https://github.com/egil/TimeProviderExtensions"/>.
1011
/// </remarks>
1112
public partial class ManualTimeProvider : TimeProvider
12-
{
13+
{
14+
[DebuggerDisplay("ManualTimer: {scheduledCallback.ToString(),nq}, due time = {dueTime}, period = {period}.")]
1315
private sealed class ManualTimer : ITimer
1416
{
1517
private ManualTimerScheduler? scheduledCallback;
18+
private TimeSpan dueTime;
19+
private TimeSpan period;
1620

1721
public ManualTimer(TimerCallback callback, object? state, ManualTimeProvider timeProvider)
1822
{
@@ -30,6 +34,9 @@ public bool Change(TimeSpan dueTime, TimeSpan period)
3034
return false;
3135
}
3236

37+
this.dueTime = dueTime;
38+
this.period = period;
39+
3340
scheduledCallback.Change(dueTime, period);
3441

3542
return true;

src/TimeProviderExtensions/ManualTimeProvider.ManualTimerScheduledCallback.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
using System.Globalization;
2+
13
namespace TimeProviderExtensions;
24

35
/// <summary>
@@ -34,6 +36,11 @@ public int CompareTo(ManualTimerScheduler? other)
3436
? Comparer<DateTimeOffset>.Default.Compare(CallbackTime, other.CallbackTime)
3537
: -1;
3638

39+
public override string ToString()
40+
=> running
41+
? $"Next callback invocation {CallbackTime.ToString("yyyy-MM-ddTHH:mm:ss.fff", CultureInfo.InvariantCulture)}"
42+
: "Idle";
43+
3744
internal void Cancel()
3845
{
3946
if (running)

0 commit comments

Comments
 (0)