Skip to content

2023 11 16 Eclipse iceoryx developer meetup

Mathias Kraus edited this page Nov 16, 2023 · 3 revisions

Eclipse iceoryx developer meetup

Date: 2023/11/16

Time: 17:00 CET

Link: https://app.element.io/jitsi.html#conferenceDomain=meet.element.io&conferenceId=JitsiVtfrqukadefbqiqfxryxabai&userId=&roomId=!AooDAAwkyNWwkMElpt%3Agitter.im&roomName=eclipse%2Ficeoryx&startWithAudioMuted=true&startWithVideoMuted=true&language=en

Attendees

  • Marika Lehmann, Apex.AI
  • Simon Hoinkis, Apex.AI
  • Christian Eltzschig, Apex.AI
  • Mathias Kraus, ekxide

Agenda

  1. Eclipse self service, 5 mins, Simon
  2. Move the Developer meetup to another day or to an earlier time on the first Thursday in the month, 5 mins, Mathias "Bob" Kraus
    • Does anybody know why the meetup does not appear in the ROS calendar?
  3. Tasks and open issues from https://github.com/eclipse-iceoryx/iceoryx/wiki/2023-10-05-Eclipse-iceoryx-developer-meetup#minutes, 5 mins, Mathias "Bob" Kraus
  4. Softening the flat include structure a bit (iox/header.hpp, iox/posix/header.hpp and iox/concurrent/header.hpp), 10 mins, Mathias "Bob" Kraus
    • should we keep the units namespace
  5. Moving to C++17 for the v3 release, 15 min, Mathias "Bob" Kraus
    • could be the one big reason for the v3 release
    • a non-representative poll showed that everybody asked was in favor of C++17
    • ROS 2 is already on C++17
  6. Cleanup relevant issues for a v3.0 release (https://github.com/eclipse-iceoryx/iceoryx/projects/5), 15 min, Mathias "Bob" Kraus
  7. If there is time, talk about a common coding style for iceoryx, 15 min, Mathias "Bob" Kraus
    • currently it is different for parts of hoofs and the rest of the codebase
    • see also
    • proposal
      • CamelCase for classes to prevent confusion with STL types
      • snake_case for free functions and methods
      • snake_case for variables and members (members with a m_ prefix)
      • snake_case for type traits, they are similar to variables in template meta-programming after all
      • CamelCase for enums
      • SCREAMING_SNAKE_CASE for enum tags
      • SCREAMING_SNAKE_CASE for constants
    • it's basically what we have now but defines one style in case there are currently two in use
      • snake_case for some classes and methods in hoofs and dust
      • CamelCalse for classes and lowerCamelCase for methods in the remaining codebase
      • since the API surface in posh is smaller than in hoofs or dust, going with snake_case for methods should have the lesser impact than the other way around
      • we can provide a using declaration for classes with snake_case during the v3 lifetime with a doxygen deprecation warning
      • deprecate snake_case classes with v4 using the C++ deprecate attribute
      • if someone wants to keep the snake_case classes it is a simple using declaration in their code
      • for methods and functions we could think of a similar strategy
  8. How to inform people about the Rust implementation on iceoryx.io, Christian, 5 min

Minutes

  1. Simon will look at the self service option; is not critical and can be done when we have time
  2. New meeting date is first Tuesday of the month at 5 p.m. CET
    • if there is high demand a meeting in the middle of the month can be requested
    • check who else can add the meeting date to the ROS calendar -> Simon takes care
  3. Update link in governance.md to the new element based video chat -> Mathias takes care
  4. Relax flat include structure
    • posix is flat include and flat ioxnamespace
    • concurrent is flat include and iox::concurrent namespace
    • units is flat include and iox::units namespace
    • non public API has a iox/detail/foo.hpp include and is in the iox::detail namespace
    • non public API of bigger modules, like cli can opt in for iox/detail/cli and iox::detail::cli
    • public API is in iox/header.hpp
  5. Create a PR to move to C++17
    • merge the PR only once C++23 is officially released which should be the case at the end of November 2023
      • it seems it takes until December for the official announcement so we merge it immediately
  6. Reduced list but can be reduce later on even more
  7. Postponed to next meetup
  8. Update iceoryx.io
    • maybe also register iceoryx.rs
    • maybe restructure iceoryx.io for the new Rust implementation

Next meeting

  • move dust to iceoryx_hoofs or iceoryx_hoofs/experimental or iceoryx_hoofs/addons?
  • which additional packages to release, e.g. gateway, ARA COM and RMW and Rust binding, ROS release?
Clone this wiki locally