INNER CODE UNIT · Java
runBlockingCall
RuedigerMoeller/kontraktor · attic/ElasticScheduler.java:301
public <T> void runBlockingCall(Actor emitter, final Callable<T> toCall, Callback<T> resultHandler) {
final CallbackWrapper<T> resultWrapper = new CallbackWrapper<>(emitter,resultHandler);
Actors.exec.execute(() -> {
try {
resultWrapper.complete(toCall.call(), null);
} catch (Throwable th) {
resultWrapper.complete(null, th);
}
});
}
/**
* if a low load thread is avaiable, return it. else try creation of new thread.
* if this is not possible return thread with lowest load
* @return
*/
@Override
public DispatcherThread assignDispatcher(int minLoadPerc) {