vertx / io.vertx.reactivex.core / WorkerExecutor / rxExecuteBlocking

# rxExecuteBlocking

`open fun <T : Any> rxExecuteBlocking(blockingCodeHandler: Handler<Future<T>>, ordered: Boolean): Single<T>`

Safely execute some blocking code.

Executes the blocking code in the handler `blockingCodeHandler` using a thread from the worker pool.

When the code is complete the handler `resultHandler` will be called with the result on the original context (i.e. on the original event loop of the caller).

A `Future` instance is passed into `blockingCodeHandler`. When the blocking code successfully completes, the handler should call the `io.vertx.reactivex.core.Future#complete` or `io.vertx.reactivex.core.Future#complete` method, or the `io.vertx.reactivex.core.Future#fail` method if it failed.

In the `blockingCodeHandler` the current context remains the original context and therefore any task scheduled in the `blockingCodeHandler` will be executed on the this context and not on the worker thread.

### Parameters

`blockingCodeHandler` - handler representing the blocking code to run

`ordered` - if true then if executeBlocking is called several times on the same context, the executions for that context will be executed serially, not in parallel. if false then they will be no ordering guarantees

Return

`open fun <T : Any> rxExecuteBlocking(blockingCodeHandler: Handler<Future<T>>): Single<T>`

Like `io.vertx.reactivex.core.WorkerExecutor#executeBlocking` called with ordered = true.

### Parameters

`blockingCodeHandler` -

Return