Draft: add extra topic subscription mechanism

This is an addition to !413 (merged), adding a logic to set extra subscriptions for single satellites while ensuring that we subscribe / unsubscribe properly. It turned out that this is more complicated than I initially thought.

The logic follows how I imagine a logging UI would set these extra topics:

  • For a specific satellite, I might set extra logging topics
  • If I change the global log level, the log level for a satellite with extra log levels also changes
    • ... except if that log level was specifically added as extra topic
  • It is possible to clear extra topics for a single satellite or all satellites
  • It is not possible to unsubscribe from a specific topic that every other satellite is subscribed to (thought about this, but it makes the logic even more complicated than it is already)

TODO:

  • Doxygen comments
  • Add tests (hard requirement since the logic is relatively complicated now)

Wondering if this will solve #152 (closed), since we never subscribe twice or unsubscribe from topics we never subscribed to.

Edited by Stephan Lachnit

Merge request reports

Loading