Skip to content
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

Rewrote Dispatcher #3923

Merged
merged 51 commits into from
Mar 5, 2024
Merged
Show file tree
Hide file tree
Changes from 29 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
a3b1bed
Reimplemented Dispatcher.sequential(false)
djspiewak Nov 26, 2023
f3199a0
Added support for `Dispatcher.sequential(await = true)`
djspiewak Nov 26, 2023
fc873a3
Attempting to get `parallel` working
djspiewak Nov 27, 2023
92eeb77
Adjusted flaky and/or definitionally-wrong tests
djspiewak Dec 9, 2023
0fb7e3e
Fixed late cancelation with `sequential`
djspiewak Dec 9, 2023
40156e0
Trying really hard to make it work...
djspiewak Dec 20, 2023
8901029
Reimplemented part of Dispatcher some more
djspiewak Dec 28, 2023
cda691b
Made cancelable sequential accessible and fixed `cede` loop
djspiewak Dec 28, 2023
8d85a4c
Rewrote cancelation state machine to be more explicit
djspiewak Dec 29, 2023
3400bd9
Renamed to avoid insanity
djspiewak Dec 29, 2023
6c9217a
Fixed sequential multi-cancelation
djspiewak Dec 30, 2023
3413cc3
Fixed fun memory race (on ARM no less!) with parallel cancelation
djspiewak Dec 30, 2023
b28706d
Removed bad idea
djspiewak Dec 30, 2023
ba091cc
Made new `Dispatcher` mode package-private until we can decide what t…
djspiewak Dec 30, 2023
1762026
Replaced `LinkedBlockingQueue` with `UnsafeUnbounded`
djspiewak Dec 30, 2023
aebf92d
Scalafmt
djspiewak Dec 30, 2023
3c40393
Fixed compilation on Scala 2.12 and 3.x
djspiewak Dec 30, 2023
64e674c
Filtered out spurious mima warnings
djspiewak Dec 30, 2023
30b9444
Skip hammering on race condition on non-JVM platforms
djspiewak Dec 30, 2023
79f2d98
V8 *really* doesn't like this test…
djspiewak Dec 30, 2023
8f0d60c
Scalafmt
djspiewak Jan 12, 2024
1b90b60
Fixed outdated comment
djspiewak Jan 12, 2024
2e48a1f
Fixed missing case in `unsafeOffer` cas loop
djspiewak Jan 13, 2024
ecd9008
test ordering maintained during finalization
samspills Jan 14, 2024
b967cd6
Revert "test ordering maintained during finalization"
djspiewak Jan 14, 2024
3041bc9
Added tests to assert queue draining behavior during shutdown
djspiewak Jan 15, 2024
b62fadc
test blocking cancellation
samspills Jan 19, 2024
8d31c63
Move blocked-cancelation test to parallel only
armanbilge Jan 19, 2024
abf680d
Separate blocked-cancelation into two tests
armanbilge Jan 19, 2024
a474e13
Implement `UnsafeAsyncQueue#take` with `Async#cont`
armanbilge Jan 19, 2024
2942847
Simplify `UnsafeAsyncQueue`
armanbilge Jan 19, 2024
70f16eb
Optimize `UnsafeAsyncQueue`
armanbilge Jan 19, 2024
0e01519
Fixed new cancelation tests and fixed functionality
djspiewak Jan 27, 2024
e105187
Add (sometimes) failing test
durban Jan 29, 2024
c959d93
Try to fix the bug
durban Jan 29, 2024
d96fdca
Update std/shared/src/main/scala/cats/effect/std/Dispatcher.scala
djspiewak Jan 29, 2024
f145a94
Update std/shared/src/main/scala/cats/effect/std/Dispatcher.scala
djspiewak Jan 29, 2024
9bad265
Merge branch 'series/3.5.x' into feature/new-dispatcher
djspiewak Jan 29, 2024
0675dae
Added missing import
djspiewak Jan 29, 2024
b771699
Merge branch 'series/3.5.x' into feature/new-dispatcher
djspiewak Feb 2, 2024
a5aaa96
Fix `UnsafeAsyncQueue`
armanbilge Feb 3, 2024
56fabb9
Merge remote-tracking branch 'durban/dispatcher-bug' into feature/new…
djspiewak Feb 3, 2024
2e9ee31
Fixed gadt issues on 2.12
djspiewak Feb 3, 2024
b3d86fc
Handle stateR more precisely
durban Feb 5, 2024
d01ddfb
Avoid weirdly depending on cancelation semantics in parallel deadlock…
djspiewak Feb 10, 2024
63164ef
Unconditionally eat supervisor errors on finalizers
djspiewak Feb 10, 2024
a3c285d
Add failing test
durban Feb 21, 2024
6a9cfa6
Fix it
durban Feb 21, 2024
a5d85dd
scalafmt
durban Feb 21, 2024
31b24f4
Only replicateA_ on JVM
durban Feb 21, 2024
bd11b81
Merge branch 'series/3.5.x' into feature/new-dispatcher
djspiewak Mar 5, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -975,7 +975,15 @@ lazy val std = crossProject(JSPlatform, JVMPlatform, NativePlatform)
"cats.effect.std.Queue$UnsafeUnbounded$Cell"),
// introduced by #3480
// adds method to sealed Hotswap
ProblemFilters.exclude[ReversedMissingMethodProblem]("cats.effect.std.Hotswap.get")
ProblemFilters.exclude[ReversedMissingMethodProblem]("cats.effect.std.Hotswap.get"),
// introduced by #3923
// Rewrote Dispatcher
ProblemFilters.exclude[MissingClassProblem]("cats.effect.std.Dispatcher$Mode"),
ProblemFilters.exclude[MissingClassProblem]("cats.effect.std.Dispatcher$Mode$"),
ProblemFilters.exclude[MissingClassProblem](
"cats.effect.std.Dispatcher$Mode$Parallel$"),
ProblemFilters.exclude[MissingClassProblem](
"cats.effect.std.Dispatcher$Mode$Sequential$")
)
)
.jsSettings(
Expand Down
Loading
Loading