Persistency CFT [2024-04-04, 2:30 - 4:00 pm] #808
guysagnes
started this conversation in
Persistency FT
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Participants
✅@johannes-esr
✅@sbachmann-qorix
✅@guysagnes
✅@vinodreddy-g
Uwe Maucher
Jannik Szwajczyk
Vasile-Bogdan Badicu
✅@armin-acn
✅@arsibo
✅@hbragge-acn
Joshua Licht
Eva Peiker
report: ✅ / ❌
Agenda
-> allow decision to
Meeting Minutes
Town Hall Meeting
Information about Architecture workshop 08.-10.04.2025
-> Gopi check for align agenda
Proposed API
-> return vec value will be replaced by fixed buffer defined in context of common library
Alignment on C++ API
by Armin Bartsch

The json implementation parser should be unique and may be implemented in context communication
- Modifying data may lead to dangling references
Possible remedies
- Return a copied object on any modification
- Reference counting
- Requires reference counting on Rust side and over the C++/Rust language boundary
- Introducing reference counts on Rust side requires re-arranging the whole data tree of tinyjson.
- Add a "generation" counter to root objects and try to determine whether a reference has become invalid.
- Let references consist of a pointer to the root object plus a path to the sub-object.
- Allocation free?
- Other ideas?
=> Solutions other than copying seem to add quite a bit of complexity.
=> Certifying two separate Json libraries for C++ and Rust might be less effort.
Result
In context of the realization we should be able to keep the freedom of interference in the case we implement separated library for C++ and Rust. To avoid the raising complexity it is decided that the process should have separated instances of the key-value-store.
This separation may be breakdown to the storage device in different files.
The persistence key-value-store shall not be to exchange values between the processes. In this case the IPC has to be involved.
Next Steps
reuse the module_template reported under:
-> https://github.com/eclipse-score/module_template
Proposal for C++ API
Extension of the API to support file system access
Next week architecture workshop planned in Ulm
Next Persistency CFT session planned on 17.04.2025
Beta Was this translation helpful? Give feedback.
All reactions