noexc / mapview

A library for parsing, manipulating, storing, and reacting to HABP telemetry downlinks.
https://mapview.noexc.org/
MIT License
5 stars 0 forks source link

Support simultaneous downlinks #16

Closed relrod closed 8 years ago

relrod commented 9 years ago

In the future, it's likely that we will have multiple downlinks with different bits of information coming down at the at the same time. We should start thinking about how to support this scenario in such a way that it is possible to add n downlinks easily. At minimum, this requires making sure the mapview core library doesn't break on multithreading (it shouldn't!) and writing up documentation on how to add downlinks. However, it also means that mapview-send needs to be made aware of such downlinks so that the new information can be pushed to frontends, which further means adding configuration support for such downlinks and allowing the reference frontend (mapview-psc) to know about, and be able to display information from, all the downlinks as it hears about them.

Lots of thought needs to happen before we can go down this road in any reasonable manner, but it is worth thinking about as a long-term goal.

relrod commented 9 years ago

As we move forward with the v3 plan, this could simply be something that happens in the configuration file (and would be up to the person writing it to handle threading, etc.).

So, you'd have a different MapviewConfig for each downlink, and essentially run each downlink in its own thread. This way, each downlink could have different callback functions (e.g. some downlinks might provide more information that could be useful to certain callback functions), and not interfere with the other downlinks.

I haven't specifically thought about this usecase with the v3 plan, but I think that v3 will be modular enough that this will end up being fairly easy to support.