I’m updating one of my own plugins and it needs to talk asynchronously to Azure Microsoft translate in the background.
Now it could just block while the REST API talks, but then one can queue several requests at once also so it could potentially make the user sit and wait for seconds maybe even minutes, until all the connections are done.
AFAIK the IDA execution is still single threaded in IDA 9.
Need to process these events in a separate thread(s) then as the results come in, sync up the data so it appears in an IDA chooser window.
Similarly, people that have made their own collaboration plugins must handle this problem as well.
I have an inkling it would need to be handled through a viewer callback to determine when IDA is idle so it can process these inside the IDA thread.
Looking for a preferred way, and then perhaps some alternate solutions if you have them.