Hi Andrew,
Somehow, this mail never made it to my inbox -- I'll double-check the group settings to try to see what went wrong, but I only saw it when I checked directly on the group. Sorry about that.
While I don't have any examples, one thought I have is that you could setup your own mechanism for making the network IO part of your plugin async.
For example, you could have the plugin start a background process (or thread) during startTestRun which is responsible for relaying messages over the network (async), send messages to it during other methods, and then ensure that the background process has finished its sending and tears down in a step like afterTestRun.
If you want to try to give it a go, I'd be happy to help review and put together a simplified example of a plugin like this in the docs. For example, we could write a version which does background work and writes messages to a file (so that we don't need network resources to show that it works). I probably don't have time to write something completely new any time soon, but if you're interested, a PR on the GitHub repo would be a great starting point.
Best (and sorry about the delay in my reply),
-Stephen