You do also have the option of writing a bridge in Java, and have your plugin communicate with it. The java bridge would be a server to zorro and a client to the broker.

This way, you can:
* Have the Java bridge send PostMessage, and
* Both the plugin and the bridge can be single-threaded (usually ideal)
* Have a native C++ plugin.

If you're not sure which protocol to use between the two, just use the DTC protocol and recycle my plugin. laugh

Rationale is similar to what you see here:
https://www.sierrachart.com/index.php?page=doc/helpdetails76.html

(Mind you, these people have strong opinions, but I share some sentiment.)