INNER CODE UNIT · Java
getInvoker
RuedigerMoeller/kontraktor · attic/ElasticScheduler.java:267
public InvocationHandler getInvoker(Actor dispatcher, Object toWrap) {
return new CallbackInvokeHandler(toWrap, dispatcher);
}
/**
* Creates a wrapper on the given object enqueuing all calls to INTERFACE methods of the given object to the given actors's queue.
* This is used to enable processing of resulting callback's in the callers thread.
* see also @InThread annotation.
* @param callback
* @param <T>
* @return
*/
@Override
public <T> T inThread(Actor actor, T callback) {
Class<?>[] interfaces = callback.getClass().getInterfaces();
InvocationHandler invoker = actor.__scheduler.getInvoker(actor, callback);
if ( invoker == null ) // called from outside actor world
{