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