data delivery: Set timestamp as an "unsafe shared current time" - #280
Merged
Conversation
Follow-up to #274, related to #257. The wording used in #274, which mentions platform-specific timestamps, made more sense in the context of the Generic Sensor API spec, as multiple platform-specific sensor APIs provide samples with timestamps in a platform-specific format that needs to be converted. Of the OS-provided telemetry APIs, however, only Windows optionally provides samples with a timestamp. As such, it makes more sense to define a timestamp using the monotonic clock's unsafe current time instead. Aditionally, the accompanying note was rewritten to indicate that the same value should be used for all globals, otherwise the same sample would end up with different "raw" timestamps in different frames/workers.
Member
Author
rakuco
pushed a commit
to kenchris/compute-pressure
that referenced
this pull request
Jun 12, 2024
…ases With platform collectors now being per-global and per-source type, we need a way to clearly indicate that the "unprocessed" timestamp from a sample (i.e. what is fed to "relative high resolution time") must be the same across all globals. We also need to make sure that this works for both real and virtual pressure sources. - The abstract "pressure source" concept added a few commits ago now has an accompanying "pressure source sample" concept. It is a struct holding implementation-defined telemetry data as well as a timestamp corresponding to when it was obtained. Functionally, this should be identical to the what the spec has as of pull request w3c#280. - Virtual pressure source's "pending samples" is now a struct as well, holding similar data: a PressureState (like before) and a timestamp that is set to the "unshared current time" when the "update virtual pressure source" endpoint is called. - The "data collection" algorithm is responsible for reading either a "pressure source sample" or a virtual pressure source's "pending sample" and processing the timestamp value as necessary.
Contributor
|
LGTM. It makes sense! Thanks for fixing it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #274, related to #257.
The wording used in #274, which mentions platform-specific timestamps, made more sense in the context of the Generic Sensor API spec, as multiple platform-specific sensor APIs provide samples with timestamps in a platform-specific format that needs to be converted.
Of the OS-provided telemetry APIs, however, only Windows optionally provides samples with a timestamp. As such, it makes more sense to define a timestamp using the monotonic clock's unsafe current time instead. Aditionally, the accompanying note was rewritten to indicate that the same value should be used for all globals, otherwise the same sample would end up with different "raw" timestamps in different frames/workers.
Preview | Diff