FutureValue should simply extend the JDK8 CompletableFuture and delegate its public interface to CompletableFuture
If possible, then FutureValue should remove the cyclical dependency with AsyncFunctionCall. Ideally AsyncFunctionCall itself should only depend now on CompletableFuture and should allow both synchronous and a synchrounous use cases, mostly by exposing the CompletableFuture
AsyncFunctionFutureResults remains in place, as it supports the tag based waiting for remote asynchronous calls
But some of the "handle and remove" functionality that is implemented in iqfeed should be a service of this class. Should be able to register handlers (synchronous or asynchronous) and the automatically remove and delegate execution to the CompletableFuture
FutureValue
should simply extend the JDK8CompletableFuture
and delegate its public interface toCompletableFuture
FutureValue
should remove the cyclical dependency withAsyncFunctionCall
. IdeallyAsyncFunctionCall
itself should only depend now onCompletableFuture
and should allow both synchronous and a synchrounous use cases, mostly by exposing theCompletableFuture
AsyncFunctionFutureResults
remains in place, as it supports the tag based waiting for remote asynchronous callsCompletableFuture