Gracefully handle fewer than 2 requests to arbitrate between
- Dominant language
- Dart
- Stars
- 115
- Forks
- 39
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 1
Description
### Describe the bug
The `RotateRoundRobinArbiter` doesn't handle 1 request gracefully because the `preference` signal just gets squashed down to 0-bits.
Something like this might be better:
```dart
final preference =
Logic(name: 'preference', width: max(1, log2Ceil(count)));
```
However, we also may need to add some checks for an empty list of things to arbitrate between (illegal scenario?). We should review other arbiters (and components) for similar issues.
### To Reproduce
_No response_
### Expected behavior
_No response_
### Actual behavior
_No response_
### Additional: Dart SDK info
_No response_
### Additional: pubspec.yaml
```yaml
```
### Additional: Context
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.