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

Simplify chained profile implementation. #87

Merged
merged 1 commit into from May 10, 2024

Conversation

splatch
Copy link
Contributor

@splatch splatch commented May 10, 2024

Closes #85. Earlier implementation from 2021/2022 did rely on thread local. While collision at thread local were unlikely to spot, overall architecture of this component become fairly complex. In order to simplify and keep it in clean shape internal call flow have been redesigned to rely on local stack. Since all profiles are known before hand, we can use order of their creation as well as intention (callback method call), to determine direction in which we should navigate further. Once all callbacks are passed, a framework callback is called.

Closes #85. Earlier implementation from 2021/2022 did rely on thread local.
While collision at thread local were unlikely to spot, overall architecture of this component become fairly complex.
In order to simplify and keep it in clean shape internal call flow have been redesigned to rely on local stack.
Since all profiles are known before hand, we can use order of their creation as well as intention (callback method call),
to determine direction in which we should navigate further. Once all callbacks are passed, a framework callback is called.

Signed-off-by: Łukasz Dywicki <luke@code-house.org>
@splatch splatch self-assigned this May 10, 2024
@splatch splatch merged commit 659084b into master May 10, 2024
4 checks passed
@splatch splatch deleted the chained-profiles-redesign branch May 10, 2024 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

Eliminate use o ThreadLocal in chained profiles
1 participant