What would you consider to be the "best" way to send small structs from one add-on to another? (i.e. from one MFD to another MFD to avoid duplicating rendezvous or other bulky calculations)
(have used named pipes and sockets in the past, but was not forced to deal with other authors)
Requirements:
1. Should work asynchronously, without hanging Orbiter, with as little overhead as possible.
2. Only local operation is envisioned (no remoting etc.)
3. Should tolerate presence of any known or suspected firewalls and antiviruses.
4. Should allow for precise specification of data items to be sent.
5. Should not propagate special floating point values (NaNs, denormals or infinities).
6. Should allow the server to signal data availability after lengthy computations have been completed.
7. Should force the client (programmatically) to cache and re-use last received value instead of continuously polling the server if the update frequencies differ at the client and server sides (i.e. the server uses 1 Hz MFD Update, while the client needs the data at each PreStep).
8. Should work on x64 and x32 Windows architectures, and even under Wine.
Of course, an existing (and well-debugged) solution is preferred to reinventing the bike.
(have used named pipes and sockets in the past, but was not forced to deal with other authors)
Requirements:
1. Should work asynchronously, without hanging Orbiter, with as little overhead as possible.
2. Only local operation is envisioned (no remoting etc.)
3. Should tolerate presence of any known or suspected firewalls and antiviruses.
4. Should allow for precise specification of data items to be sent.
5. Should not propagate special floating point values (NaNs, denormals or infinities).
6. Should allow the server to signal data availability after lengthy computations have been completed.
7. Should force the client (programmatically) to cache and re-use last received value instead of continuously polling the server if the update frequencies differ at the client and server sides (i.e. the server uses 1 Hz MFD Update, while the client needs the data at each PreStep).
8. Should work on x64 and x32 Windows architectures, and even under Wine.
Of course, an existing (and well-debugged) solution is preferred to reinventing the bike.