I completely agree, which is why I left the support for Future and CompletableFuture in the code and added Promise as a third option. The first version can be found here: https://github.com/seeburger-ag/aries-rsa/commit/6c28ee11b09c3b2109a4ac8f0e479c0d9a7d50b5
The commit is for our modified version of aries-rsa, but I will rebase it properly to master if you want the contribution and once it is clear how it should be designed. To add support for e.g. rxjava one would write a strategy like this one: https://github.com/seeburger-ag/aries-rsa/blob/topic/async-calls/provider/fastbin/src/main/java/org/apache/aries/rsa/provider/fastbin/tcp/AsyncPromiseInvocationStrategy.java And then add it to this enum: https://github.com/seeburger-ag/aries-rsa/blob/topic/async-calls/provider/fastbin/src/main/java/org/apache/aries/rsa/provider/fastbin/tcp/InvocationType.java Best regards, Johannes
