Muse skeleton get remaining part#1
Closed
saksham-chawla wants to merge 6 commits intocodex/replay-pr-207-basefrom
Closed
Muse skeleton get remaining part#1saksham-chawla wants to merge 6 commits intocodex/replay-pr-207-basefrom
saksham-chawla wants to merge 6 commits intocodex/replay-pr-207-basefrom
Conversation
- Adds GetLatestSlot function to EventDataControlComposite Issue: SWP-249517
- Adds GetLatestSampleFunction to SkeletonEvent Issue: SWP-249517
Implement RegisterSetHandler() method to allow users to register callbacks for handling remote Set requests on skeleton fields. The Set handler wraps user-provided validation/modification logic and automatically broadcasts accepted values to all field subscribers via Update(). Configuration support is stubbed with TODO - requires extension of LolaFieldInstanceDeployment to include has_setter flag. Issue: SWP-249527
Replace runtime is_setter_ guard with EnableSet/EnableNotifier template bool parameters on SkeletonField. Issue: SWP-249527
- SkeletonField now includes a new template parameter, EnableGet. - When EnableGet is true, a skeleton Get method attribute is added to SkeletonField. - Constructors were updated to support all relevant EnableSet and EnableGet combinations. Issue: SWP-249517
- Automatically register a Get handler for fields with EnableGet. - Serve Get requests by reading the latest field value and returning it through the Get method. - Update the required slot calculation. - Add a test covering this behavior. Issue: SWP-249517
saksham-chawla
pushed a commit
that referenced
this pull request
Mar 18, 2026
…_implementation_Feedback_Review Generic skeleton implementation feedback review
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Please note that this PR is rebased on
eclipse-score#204
https://cc-github.bmwgroup.net/oss/eclipse-score-communication/pull/175/
These PRs needs to be merged before this PR.
Muse skeleton get remaining part
This pull request introduces the
EnableGetflag on theSkeletonFieldside, enablingGetfunctionality for skeleton fields. It implements theGetmethod, allowing users to retrieve the latest field value. The changes involve significant refactoring ofSkeletonFieldandSkeletonEventto incorporate new template parameters and SFINAE-based constructor overloads, ensuring thatGetandSetmethods are conditionally available based on template flags. Astd::mutexis added toSkeletonFieldto serialize access toGethandlers, andEventDataControlCompositeis updated to support finding the latest readable slot.Architecture Diagram:
flowchart TD subgraph Application_Layer SF["SkeletonField (+265/-65 lines)"] end subgraph Core_COM_Layer SE["SkeletonEvent (+37/-6 lines)"] SEB[/"SkeletonEventBinding (+8 lines)"/] SM["SkeletonMethod"] end subgraph Binding_Layer EDCC["EventDataControlComposite (+53/-6 lines)"] EDC[("EventDataControl")] end subgraph Concurrency_Primitives Mutex[("std::mutex")] end SF --"manages"--> SE SF --"registers Get/Set handlers"--> SM SF --"uses for Get handler serialization"--> Mutex SE --"dispatches to"--> SEB SE --"manages slots via"--> EDCC EDCC --"controls"--> EDCThis summary was automatically generated by @propel-code-bot