Braid-client for the JVM isn't re-entrant for blocking calls
Given an API like:
interface FooBarAPI {
fun fooAsync(): Future<String>
fun barSync() : String
}
The following will block the vertx event loop:
val foobar = proxy.bind(FooBarAPI::class.java)
foobar.fooAsync().setHandler {
foobar.barSync()
}
To solve this we should resolve futures on a worker thread and not on the main event loop