-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Add new ProcessBlock feature to the Framework #30117
Merged
Merged
Changes from all commits
Commits
Show all changes
25 commits
Select commit
Hold shift + click to select a range
af3125e
Add ProcessBlock feature to Framework
wddgit b28794d
Use std::array in ProductRegistry
wddgit 9edfdd1
Use std::array in BranchType implementation
wddgit a295a63
Remove unnecessary private access specifiers
wddgit f3a2b00
Insert correct principal
wddgit aa0a0d4
Modernize, replace typedef with using
wddgit c4bef3b
Only perform find in fillPrincipal if needed
wddgit 7efbcd6
Use enum argument instead of bool
wddgit 3bbae12
Add a comment
wddgit 11124c2
Test order of transitions more carefully
wddgit 5e63c99
Add printout to sh script, test names
wddgit 10e6854
Replace throws with asserts
wddgit 5db1a14
Add makeNameArray function
wddgit fe579de
Use range for loop and make_unique
wddgit 811a437
Change enum name to BranchActionProcessBlockInput
wddgit fa961fe
Change override to final
wddgit 97406bb
Use loop in makeNameArray
wddgit a8bfbf5
Add curly braces for clarity
wddgit da0af14
Remove extra space
wddgit c7711b5
Initialize with BeginProcessBlock
wddgit 9ac7bbe
Abilities WatchProcessBlock InputProcessBlockCache
wddgit 41823e5
Resolve logical conflicts after PR rebase
wddgit 9a21b34
Improve interface in globalTransitionAsync.h
wddgit fb30b13
Test modes Runs and RunsAndLumis
wddgit 3c64a1b
Add enum value Transition::AccessInputProcessBlock
wddgit File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.
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.
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.
Now at least it won't compile if the values are changed. On the other hand, a loop would work automatically with value changes.
(this discussion makes me wonder if we have implicit assumptions on their numerical values somewhere else)
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.
In the version of this file in the current master release, there is no assumption about the enum values. In other files, especially in the IOPool subsystem, such assumptions already exist in the code (and one might find them other places if one looked).
When converting to std::array and using the BranchType as an index, I created the dependence. First here:
Personally, I think the current version in the PR is good enough. It is simple and easy to read. I doubt the enum values will ever be reordered. If you want I could change initialization of the above array so that the enum values could be reordered but still restricted to 0, 1, 2. If we want to support arbitrary values like InEvent = 100, InLumi = 101, and InRun = 102, then I would need to use something more like maps or add an additional layer of indirection. Note that there is also a presumption in the file that InProcess is 3. Most of the arrays have size 3 (run/lumi/event and no processBlock). Another alternative would be to remove the std::array's and go back to old way of implementing this.