From dcd9eb37c7cd4886ed68aff81ede5405891bf67d Mon Sep 17 00:00:00 2001 From: Vaci Koblizek Date: Mon, 9 Nov 2020 21:43:32 +0000 Subject: [PATCH] add override to set clients from completablefutures --- compiler/src/main/cpp/capnpc-java.c++ | 5 ++++- runtime-rpc/src/test/java/org/capnproto/RpcTest.java | 2 +- runtime/src/main/java/org/capnproto/Capability.java | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/compiler/src/main/cpp/capnpc-java.c++ b/compiler/src/main/cpp/capnpc-java.c++ index 54744ae..5226bc4 100644 --- a/compiler/src/main/cpp/capnpc-java.c++ +++ b/compiler/src/main/cpp/capnpc-java.c++ @@ -1137,6 +1137,9 @@ private: spaces(indent), " }\n", spaces(indent), " public void set", titleCase, "(", serverType, " value) {\n", spaces(indent), " this.set", titleCase, "(new ", clientType, "(value));\n", + spaces(indent), " }\n", + spaces(indent), " public void set", titleCase, "(java.util.concurrent.CompletableFuture value) {\n", + spaces(indent), " this.set", titleCase, "(new ", clientType, "(value));\n", spaces(indent), " }\n" ), @@ -1825,7 +1828,7 @@ private: sp, " public Client(org.capnproto.ClientHook hook) { super(hook); }\n", sp, " public Client(org.capnproto.Capability.Client cap) { super(cap); }\n", sp, " public Client(Server server) { super(server); }\n", - sp, " public Client(java.util.concurrent.CompletionStage promise) {\n", + sp, " public Client(java.util.concurrent.CompletionStage promise) {\n", sp, " super(promise);\n", sp, " }\n", sp, " public static final class Methods {\n", diff --git a/runtime-rpc/src/test/java/org/capnproto/RpcTest.java b/runtime-rpc/src/test/java/org/capnproto/RpcTest.java index 4fcbac6..4c8faa9 100644 --- a/runtime-rpc/src/test/java/org/capnproto/RpcTest.java +++ b/runtime-rpc/src/test/java/org/capnproto/RpcTest.java @@ -484,7 +484,7 @@ public class RpcTest { { var req = client.holdRequest(); - req.getParams().setCap(new Test.TestInterface.Client(paf)); + req.getParams().setCap(paf); req.send().join(); } diff --git a/runtime/src/main/java/org/capnproto/Capability.java b/runtime/src/main/java/org/capnproto/Capability.java index cfb9f68..75bb986 100644 --- a/runtime/src/main/java/org/capnproto/Capability.java +++ b/runtime/src/main/java/org/capnproto/Capability.java @@ -117,9 +117,9 @@ public final class Capability { this.hook = hook; } - public Client(CompletionStage promise) { + public Client(CompletionStage promise) { this(Capability.newLocalPromiseClient( - promise.thenApply(client -> client.getHook()))); + promise.thenApply(Client::getHook))); } public Client(Throwable exc) {