Skip to content

Commit 6b99903

Browse files
committed
Merge RFC #19: Remove amaranth.lib.scheduler
2 parents 593a056 + 9a53111 commit 6b99903

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

text/0019-remove-scheduler.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
- Start Date: 2023-08-22
2+
- RFC PR: [amaranth-lang/rfcs#19](https://github.com/amaranth-lang/rfcs/pull/19)
3+
- Amaranth Issue: [amaranth-lang/amaranth#874](https://github.com/amaranth-lang/amaranth/issues/874)
4+
5+
# Remove `amaranth.lib.scheduler`
6+
7+
## Summary
8+
[summary]: #summary
9+
10+
Remove `amaranth.lib.scheduler` and the only class `RoundRobin` in it.
11+
12+
## Motivation
13+
[motivation]: #motivation
14+
15+
This module is not used in the sole place for which it was added (Amaranth SoC), it is not especially useful, and it has not undergone proper community review when it was added.
16+
17+
## Guide-level explanation
18+
[guide-level-explanation]: #guide-level-explanation
19+
20+
The module `amaranth.lib.scheduler` and the sole class `RoundRobin` in it is removed. To continue using it, copy the contents of the module into your own project.
21+
22+
## Reference-level explanation
23+
[reference-level-explanation]: #reference-level-explanation
24+
25+
The class `amaranth.lib.scheduler.RoundRobin` is deprecated in Amaranth 0.4 and removed in Amaranth 0.5.
26+
27+
## Drawbacks
28+
[drawbacks]: #drawbacks
29+
30+
- Churn.
31+
32+
## Rationale and alternatives
33+
[rationale-and-alternatives]: #rationale-and-alternatives
34+
35+
- This module is out of place in the standard library.
36+
- It has not seen much use and is trivially implemented outside of it.
37+
- Downstream consumers tend to inline the logic anyway.
38+
- It does not seem like there would be any other uses for the `amaranth.lib.scheduler` module since any other scheduling algorithm would be more closely tied to the consumer.
39+
40+
## Unresolved questions
41+
[unresolved-questions]: #unresolved-questions
42+
43+
None.
44+
45+
## Future possibilities
46+
[future-possibilities]: #future-possibilities
47+
48+
None.

0 commit comments

Comments
 (0)