belliottsmith commented on code in PR #254:
URL: https://github.com/apache/cassandra-accord/pull/254#discussion_r2355558340


##########
accord-core/src/main/java/accord/api/AsyncExecutor.java:
##########
@@ -20,32 +20,102 @@
 
 import java.util.concurrent.Callable;
 import java.util.concurrent.Executor;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Future;
 import java.util.function.BiConsumer;
 
+import javax.annotation.Nullable;
+
+import accord.utils.async.AsyncCallbacks;
+import accord.utils.async.AsyncCallbacks.RunOrFail;
 import accord.utils.async.AsyncChain;
-import accord.utils.async.RunnableWithResult;
+import accord.utils.async.AsyncChains;
+import accord.utils.async.Cancellable;
 
 public interface AsyncExecutor extends Executor
 {
-    default AsyncChain<Void> build(Runnable task)
+    // unlike execute, throws no exceptions, nor will not wrap the runnable

Review Comment:
   The point here is that RunOrFail doesn't propagate any exceptions to the 
caller (except via the RunOrFail interface), including e.g. rejected execution 
exceptions. It also guarantees to run the parameter without modification. This 
is just making explicit the contract that allows it to be the terminal method 
that all other APIs invoke to achieve their semantics.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to