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

Resource system V3 #27

Draft
wants to merge 51 commits into
base: master
Choose a base branch
from
Draft

Resource system V3 #27

wants to merge 51 commits into from

Conversation

kanpov
Copy link
Member

@kanpov kanpov commented Jan 19, 2025

Rough idea: central resource system performs work on a dedicated set of tasks spawned on the runtime, while cloneable handles to resources communicate with the system via an MPSC channel for requests and a broadcast channel for responses.

@kanpov
Copy link
Member Author

kanpov commented Jan 20, 2025

Instead of breaking compilation for most of the PR's development like most other refactors/rewrites inside fctools, I'm keeping V2 under resource temporarily and V3 isolated under resource_v3 so that compilation proceeds, and to swap V2 for V3 at the end.

@kanpov kanpov self-assigned this Jan 20, 2025
@kanpov kanpov added the enhancement New feature or request label Jan 20, 2025
@kanpov kanpov added this to the 0.6 milestone Jan 20, 2025
@kanpov kanpov changed the title Resource system V3 (early draft) Resource system V3 Jan 25, 2025
@kanpov
Copy link
Member Author

kanpov commented Jan 25, 2025

V3, without being applied outside of its module to the VMM and VM layers yet, mostly (maybe?) works already. Locking and channel hell were overcome to allow all Resource methods to be &self and for Resource's to be cloneable cheap-ishly.

@kanpov kanpov mentioned this pull request Jan 26, 2025
5 tasks
@kanpov
Copy link
Member Author

kanpov commented Jan 28, 2025

Huge PR only gets larger unfortunately, so no ETA on this getting finished and merged.

Signed-off-by: kanpov <[email protected]>
Signed-off-by: kanpov <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant