WIP: ApplicationTime support #4536
Open
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.
This is not yet complete, but creating this PR to get comments on the API and implementation, in particular @pnorbert please take a look at GetStepApplicationTime(). It seems reasonable that that this should be able to return the ApplicationTime value associated with the next step so that this has value, for example in ordering step presentation when multiple files are open. But that means that it is acting like BeginStep WRT updating buffers, waiting for data in BP5 file streaming mode, etc. Normally BeginStep has an optional timeout and can return StepStatus::NotReady, but that seems like an awkward API for this (and something that seems unlikely to be useful in the anticipated use case for ApplicationTime). So I've made some arbitrary decisions there that could use review.
Also note that this changes the BP5 file format. bp5dbg.py has been updated to handle both old (minor version 2) and new (minor version 3) formats. I've updated C++ bindings, but have not added tests, new Archival output, other language bindings, etc.