}
@Override
public CompletableFuture<SubmitResponse> submit(final SubmitRequest request) {
final CompletableFuture<SubmitResponse> future = new CompletableFuture<>();
DeliveryOptions options = new DeliveryOptions().setSendTimeout(5000);
vertx.eventBus().send(address, writer.writeRequest(request), options, new Handler<AsyncResult<Message<byte[]>>>() {
@Override
public void handle(AsyncResult<Message<byte[]>> result) {
if (result.failed()) {
future.completeExceptionally(result.cause());