Skip to content

Consider not using the wall clock time for timeouts in Kestrel #13628

@Tragetaschen

Description

@Tragetaschen

Is your feature request related to a problem? Please describe.

I have an embedded instrument with an RTC that's powered by a small gold cap. However, that battery is limited and so the instrument might forget the current date / time. If that happens, the system boots with a default date/time depending on when the Linux image was built.

There's a user interface that's rendered on an internal web browser connected to the localhost web server via SignalR.

Third, there's a way to set the date/time when lost, which directly sets the wall clock on the instrument (the time difference is typically O(months)).

When the user sets the date/time, the SignalR connection runs into a timeout because timeouts are based on wall clock time and my thought-to-be stable localhost connection breaks. I have included a retry logic just for that case.

Describe the solution you'd like

Using wall clock for timeouts always runs into scenarios such as the one described above. In my opinion it would be better to base those decisions off of a monotonic and continuous time source (Stopwatch?).

Metadata

Metadata

Assignees

Labels

affected-very-fewThis issue impacts very few customersarea-networkingIncludes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractionsenhancementThis issue represents an ask for new feature or an enhancement to an existing onefeature-kestrelhelp wantedUp for grabs. We would accept a PR to help resolve this issueseverity-majorThis label is used by an internal tool

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions