/** * await until all futures are settled and stream their results */ public static <T> Stream<T> awaitAll(long timeoutMS, IPromise<T>... futures) { return streamHelper(all(futures).await(timeoutMS)); }
/** * similar to es6 Promise.all method, however non-IPromise objects are not allowed * * returns a future which is settled once all promises provided are settled * */ public static <T> IPromise<IPromise<T>[]> all(IPromise<T>... futures) { Promise res = new Promise(); awaitSettle(futures, res); return res; }
/** * abbreviation for Promise creation to make code more concise * * @param res * @param <T> * @return */ public static <T> IPromise<T> resolve( T res ) { return new Promise<>(res); }
/** * same as complete(null,null) and resolve(null) */ default void resolve() { complete(null, null); }
@Override public void failed(Throwable exc, ByteBuffer attachment) { p.reject(exc); } });
@Override public T get() { if (realCallback instanceof IPromise == false) return null; else return (T) ((IPromise)realCallback).get(); }
/** * await until all futures are settled and stream their results. Uses Actors.DEFAULT_TIMEOUT */ public static <T> Stream<T> awaitAll(IPromise<T>... futures) { return streamHelper(all(futures).await()); }
/** * similar to es6 Promise.all method, however non-IPromise objects are not allowed * * returns a future which is settled once all promises provided are settled * */ public static <T> IPromise<List<IPromise<T>>> all(List<IPromise<T>> futures) { Promise res = new Promise(); awaitSettle(futures, res); return res; }
/** * abbreviation for Promise creation to make code more concise * */ public static IPromise resolve() { return new Promise<>("dummy"); }
/** * signal end of streamed objects (required for remoteref housekeeping if actors run remotely) * same as complete( null, null ); * */ default void finish() { complete(null, null); }
/** * await until all futures are settled and stream their results */ public static <T> Stream<T> awaitAll(long timeoutMS, IPromise<T>... futures) { return streamHelper(all(futures).await(timeoutMS)); }
/** * similar to es6 Promise.all method, however non-IPromise objects are not allowed * * returns a future which is settled once all promises provided are settled * */ public static <T> IPromise<IPromise<T>[]> all(IPromise<T>... futures) { Promise res = new Promise(); awaitSettle(futures, res); return res; }
/** * await until all futures are settled and stream their results. Uses Actors.DEFAULT_TIMEOUT */ public static <T> Stream<T> awaitAll(IPromise<T>... futures) { return streamHelper(all(futures).await()); }
/** * similar to es6 Promise.all method, however non-IPromise objects are not allowed * * returns a future which is settled once all promises provided are settled * */ public static <T> IPromise<List<IPromise<T>>> all(List<IPromise<T>> futures) { Promise res = new Promise(); awaitSettle(futures, res); return res; }
public static <T> Stream<T> awaitAll(List<IPromise<T>> futures) { return streamHelper(all(futures).await()); }