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

Remove all walkers #3502

Open
apostasie opened this issue Oct 5, 2024 · 1 comment
Open

Remove all walkers #3502

apostasie opened this issue Oct 5, 2024 · 1 comment

Comments

@apostasie
Copy link
Contributor

apostasie commented Oct 5, 2024

What is the problem you're trying to solve

We do have a number of walkers abstractions around (for network, images, etc.).

They may have seemed like a good abstraction at the time, but they are more trouble than anything, because they just hide the fact that resources come and go - and by the time they call the handler, the corresponding resource may have disappeared - unless the caller does enforce locking around the walker, which defeats the purpose of a simple functional abstraction.

At this point, it feels like walkers are just over-engineering with no purpose: a pattern that does not deliver any concrete value, while making issues harder to debug.

Describe the solution you'd like

Remove walkers and replace them with simple functions returning slices.
If the consumer wants a walker, they can implement it themselves very easily.
While looking at concurrency issues again (#3501) it is clear they are part of the problem.

Additional context

No response

@apostasie
Copy link
Contributor Author

/label refactor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant