vertx / io.vertx.core / WorkerExecutor

WorkerExecutor

interface WorkerExecutor : Measured

An executor for executing blocking code in Vert.x .

It provides the same executeBlocking operation than io.vertx.core.Context and io.vertx.core.Vertx but on a separate worker pool.

Author
Julien Viet

Functions

close

open fun close(): Unit

Close the executor.

executeBlocking

abstract fun <T : Any> executeBlocking(blockingCodeHandler: Handler<Future<T>>, ordered: Boolean, resultHandler: Handler<AsyncResult<T>>): Unit

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 Future#complete or Future#complete(Object) method, or the 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.

open fun <T : Any> executeBlocking(blockingCodeHandler: Handler<Future<T>>, resultHandler: Handler<AsyncResult<T>>): Unit

Like #executeBlocking(Handler, boolean, Handler) called with ordered = true.