-
Notifications
You must be signed in to change notification settings - Fork 949
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use HiresClock ticks instead of DateTime for IntervalRunner publish time calculation #2753
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2753 +/- ##
==========================================
- Coverage 55.12% 54.62% -0.51%
==========================================
Files 349 349
Lines 65548 65702 +154
Branches 13398 13445 +47
==========================================
- Hits 36135 35888 -247
- Misses 25584 25921 +337
- Partials 3829 3893 +64 ☔ View full report in Codecov by Sentry. |
while (HiResClock.Ticks < nextPublishTick) | ||
{ | ||
// Busy-wait and avoid overhead of Task.Delay for verry small wait times | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same as above
Use HiresClock instead of DateTime for IntervalRunner publish time calculation
Proposed changes
PubSub IntervalRunner used System clock dependent DateTime values for calculating the publish time, which may produce wrong time values and all consequences that derive from this.
This PR replaces DateTime values in the time calculation with HiresClock (Stopwatch) monotonic values.
Related Issues
Types of changes
What types of changes does your code introduce?
Put an
x
in the boxes that apply. You can also fill these out after creating the PR.Checklist
Put an
x
in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...