Generic skeleton implementation - Only with Event and Black Box Test with IPC_bridge App#17
Closed
saksham-chawla wants to merge 37 commits intocodex/replay-pr-140-basefrom
Closed
Generic skeleton implementation - Only with Event and Black Box Test with IPC_bridge App#17saksham-chawla wants to merge 37 commits intocodex/replay-pr-140-basefrom
saksham-chawla wants to merge 37 commits intocodex/replay-pr-140-basefrom
Conversation
…l partial restart handling implementation.
Signed-off-by: Abhishek GOYAL <abhishek.goyal@valeo.com>
…aining feedback review points and introduce GTest-based unit tests for generic_skeleton_event
…ementation_Feedback_Review
…_implementation_Feedback_Review Generic skeleton implementation feedback review
…_implementation_Feedback_Review Use standard include guards for portability
…_implementation_Feedback_Review Address review feedback
…_implementation_Feedback_Review Make GenericSkeleton and supporting types publicly accessible via types.h
…_implementation_Feedback_Review Generic skeleton implementation feedback review [Resolve merge conflicts with main]
…_implementation_Feedback_Review Fix ASan ODR violation
…_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.
Hi @crimson11
As discussed earler Rasing a pull request containing the Event with black-box tests through Example Application.
Rest will done in second pull request(First week of Feb) which includes the complete Event functionality documentation along with tests for both Event and Field
Generic Skeleton Implementation with Event Support and Black Box Tests
This pull request introduces a generic skeleton implementation, enabling the creation of runtime-configurable service providers that operate on raw data. The initial scope focuses on
GenericSkeletonEventfunctionality, allowing applications like gateways or bridges to offer services without compile-time knowledge of specific data types. This is achieved through the introduction ofDataTypeMetaInfofor dynamic size and alignment information.The changes involve a significant refactoring of existing event handling logic into a new
lola::SkeletonEventCommonclass, centralizing shared behavior for both strongly typed and generic events. It also includes the necessary factory interfaces and implementations for creating generic event bindings, along with comprehensive unit tests and an updated example application to demonstrate the new capabilities.Architecture Diagram:
flowchart TD subgraph Application_Layer A["IPC_Bridge_App (+68 lines)"] end subgraph Core_COM_Layer B["GenericSkeleton (+145 lines)"] C["GenericSkeletonEvent (+100 lines)"] D["SkeletonBase"] E["DataTypeMetaInfo (+2 lines)"] F["EventInfo"] G["GenericSkeletonServiceElementInfo"] H["ServiceElementMap"] I["ComErrc (+2 lines)"] J["SampleAllocateePtr (refactored)"] K["types.h (+23 lines)"] end subgraph Plumbing_Layer L["IGenericSkeletonEventBindingFactory (+38 lines)"] M["GenericSkeletonEventBindingFactory (+64 lines)"] N["GenericSkeletonEventBindingFactoryImpl (+31 lines)"] O["SkeletonServiceElementBindingFactoryImpl (+56 lines)"] end subgraph LoLa_Binding_Layer P["GenericSkeletonEventBinding (+39 lines)"] Q["lola::GenericSkeletonEvent (+139 lines)"] R["lola::Skeleton (+104 lines)"] S["lola::SkeletonEventCommon (+121 lines)"] T["lola::SkeletonEvent (refactored)"] end subgraph Testing_Layer U["GenericSkeletonTest (+328 lines)"] V["GenericSkeletonEventTest (+347 lines)"] W["lola::SkeletonEventComponentTest (refactored)"] X["lola::SkeletonTest (refactored)"] Y["lola::ProxyTest (refactored)"] Z["lola::GenericProxyEventTest (refactored)"] end A -->|uses| B B -->|manages| C B -->|inherits| D B -->|uses| F B -->|uses| G B -->|uses| H B -->|uses| M C -->|inherits| P C -->|uses| E D <|-- B D -->|uses| P P <|-- Q P <|-- C Q -->|uses| S Q -->|uses| E R -->|registers generic events| Q R -->|uses| S S o-- R T -->|uses| S M -->|creates| P M -->|uses| L M -->|delegates to| N N -->|uses| O O -->|creates| Q K -->|exposes| B K -->|exposes| C K -->|exposes| E K -->|exposes| F K -->|exposes| G K -->|exposes| I K -->|exposes| J J -->|uses| Q U -->|tests| B U -->|tests| M V -->|tests| C V -->|tests| P W -->|tests| T X -->|tests| R Y -->|tests| R Z -->|tests| QThis summary was automatically generated by @propel-code-bot