public static <R, V> Disposable publish(Fiber fiber, RequestChannel<R, V> channel, R request, final Callback<V> reply) { AsyncRequest<R, V> async = new AsyncRequest<>(fiber); async.setResponseCount(1); Callback<List<V>> onMsg = new Callback<List<V>>() { public void onMessage(List<V> message) { reply.onMessage(message.get(0)); } }; return async.publish(channel, request, onMsg); }
public static <R, V> Disposable publish(Fiber fiber, RequestChannel<R, V> channel, R request, final Callback<V> reply, long timeout, TimeUnit unit, final Runnable onTimeout) { AsyncRequest<R, V> async = new AsyncRequest<>(fiber); async.setResponseCount(1); final Callback<List<V>> onListTimeout = new Callback<List<V>>() { public void onMessage(List<V> message) { onTimeout.run(); } }; async.setTimeout(onListTimeout, timeout, unit); Callback<List<V>> onMsg = new Callback<List<V>>() { public void onMessage(List<V> message) { reply.onMessage(message.get(0)); } }; return async.publish(channel, request, onMsg); } }
public static <R, V> Disposable publish(Fiber fiber, RequestChannel<R, V> channel, R request, final Callback<V> reply, long timeout, TimeUnit unit, final Runnable onTimeout) { AsyncRequest<R, V> async = new AsyncRequest<>(fiber); async.setResponseCount(1); final Callback<List<V>> onListTimeout = new Callback<List<V>>() { public void onMessage(List<V> message) { onTimeout.run(); } }; async.setTimeout(onListTimeout, timeout, unit); Callback<List<V>> onMsg = new Callback<List<V>>() { public void onMessage(List<V> message) { reply.onMessage(message.get(0)); } }; return async.publish(channel, request, onMsg); } }
public static <R, V> Disposable publish(Fiber fiber, RequestChannel<R, V> channel, R request, final Callback<V> reply) { AsyncRequest<R, V> async = new AsyncRequest<>(fiber); async.setResponseCount(1); Callback<List<V>> onMsg = new Callback<List<V>>() { public void onMessage(List<V> message) { reply.onMessage(message.get(0)); } }; return async.publish(channel, request, onMsg); }