Add another TLArbiter Policy "highestIndexFirst" #2587
Merged
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 PR adds a third
Policy
option to theTLArbiter
object,highestIndexFirst
. Unsurprisingly it is the dual oflowestIndexFirst
. My motivation is that sometimes it is easier to toggle the policy than to swap the order in which things get connected to the arbiter/xbar by Scala code execution order. (I continue to recommend that users favorroundRobin
unless you are absolutely certain your use case is resilient to live-lock scenarios engendered by used of a fixed arbitration scheme.)I also refactored the TLArbiter unit tests and added the two policies that have easily-determined outcomes to the regressions. (It looks like unit test regressions are actually turned off because of some github actions memory restriction but I will make sure they pass locally before merging this.)
Type of change: other enhancement
Impact: API addition (no impact on existing code)
Development Phase: implementation
Release Notes