Skip to content

2022 08 04 Eclipse iceoryx developer meetup

Simon Hoinkis edited this page Aug 4, 2022 · 6 revisions

Eclipse iceoryx developer meetup

Date: 2022/08/04

Time: 17:00 CET

Link: https://eclipse.zoom.us/j/95918504483?pwd=RWM5Y1pkeStKVDZsU09EY1hnclREUT09

Attendees

  • Simon Hoinkis, Apex.AI GmbH
  • Indalkar Prashant, Avin Systems
  • Hemal Bavishi, Avin Systems
  • Matthias Killat, Apex.AI GmbH
  • Mathias Kraus, Apex.AI GmbH
  • Dietrich Krönke, Apex.AI GmbH
  • Somnath Holkar, Avin Systems

Agenda

  1. General: Introduction of new participants, 10 mins
  2. General: Are there other agenda points?, 2 mins
  3. cxx::future
  4. cxx::map
  5. vector supporting polymorphic allocator

Minutes

  1. cxx::future

    • What is the reason for implemeting cxx::future?
      • Matthias assumes the reason to be static memory
      • Hemal confirmed no heap usage and no exceptions shall be used
    • Matthias provides an overview over cxx::future prototype
      • Explained what a future is used for
      • The same test is implemented for both std::future and cxx::future
      • Difference is the move of the memory from promise to future under mutex protection, both have the full memory reserved on the stack
      • Both promise and future need to know about the state, this is not 100% finished yet
      • 2nd big topic is: How are the errors communicated to the user if we don't use exceptions?
      • cxx::future is not movable, cxx::promise is movable
      • Prototype is available on branch: https://github.com/MatthiasKillat/iceoryx/tree/iox-futures-experimental
    • Simon raised question about timeline, Apex.AI will focus on certification in 2022
      • Hemal confirmed that Avin wants to contribute cxx::future to iceoryx_hoofs
      • Matthias has the idea to move it to iceoryx_dust (deemed useful software thingies, "only quality level 2")
    • Matthias has the idea to create specialsed futures for ara::com, not part of iceoryx_hoofs from his point of view
    • Matthias will be on vacation 2nd half of August
    • Action Items
      • Matthias will summaries open issues and things to do #1390
      • Somnath will raise a draft pull request to discuss the implementation or design document
  2. cxx::map

    • Matthias created a specialized version of a map-like structure for strings, not too relevant for the discussion
    • Matthias thinks the same restrictions apply, heap and exception-less, Hemal confirmed this
    • std::map is complex and has a large API
    • Somnath provided an overview what's implemented on Avin-side
      • Red black tree is implemented
      • cxx::map would need a template parameter tree for fixed size stack-based memory
      • cxx::map would be wrapper around red black tree
      • Passing capacity is still to do
      • cxx::multimap would also be nice to have
    • Matthias recommended to mock memory allocation, is stack-only usage ok?
    • Allocation part of prefix_tree could be moved to iceoryx_dust
    • Branch name of prefix_tree prototype: https://github.com/eclipse-iceoryx/iceoryx/pull/1057
    • Simon proposed to create a design document to discuss implementation details upfront
    • Hemal confirmed that Avin systems wants to contribute their cxx::map implementation
    • Matthias asked if cxx::map shall be exchangeable via shared memory? Hemal confirmed this.
  3. vector supporting polymorphic allocator

    • To be discussed in the next meeting
    • Discussed partly in issue #911 already
  4. Prioritization

    • Apex.AI as few resources for new implementations in the upcoming months
    • cxx::future is top prio for Avin systems
Clone this wiki locally