From caec63d68c7f22fe6089228d6aef52b06c5e9496 Mon Sep 17 00:00:00 2001 From: Vaci Koblizek Date: Wed, 14 Oct 2020 16:42:43 +0100 Subject: [PATCH] fix rpcsystem generic params, and hide various fields --- .../main/java/org/capnproto/CallContext.java | 2 +- .../java/org/capnproto/CallContextHook.java | 2 +- .../src/main/java/org/capnproto/RpcState.java | 49 ++++++++++--------- .../main/java/org/capnproto/RpcSystem.java | 8 +-- .../java/org/capnproto/TwoPartyRpcSystem.java | 2 +- 5 files changed, 32 insertions(+), 31 deletions(-) diff --git a/runtime/src/main/java/org/capnproto/CallContext.java b/runtime/src/main/java/org/capnproto/CallContext.java index ebcd694..a480599 100644 --- a/runtime/src/main/java/org/capnproto/CallContext.java +++ b/runtime/src/main/java/org/capnproto/CallContext.java @@ -32,7 +32,7 @@ public class CallContext { return this.hook.getResults().initAs(results); } - public final CompletableFuture tailCall(Request tailRequest) { + public final CompletableFuture tailCall(Request tailRequest) { return hook.tailCall(tailRequest.getHook()); } diff --git a/runtime/src/main/java/org/capnproto/CallContextHook.java b/runtime/src/main/java/org/capnproto/CallContextHook.java index c5aa043..71ebcdb 100644 --- a/runtime/src/main/java/org/capnproto/CallContextHook.java +++ b/runtime/src/main/java/org/capnproto/CallContextHook.java @@ -9,7 +9,7 @@ public interface CallContextHook { AnyPointer.Builder getResults(); - CompletableFuture tailCall(RequestHook request); + CompletableFuture tailCall(RequestHook request); void allowCancellation(); diff --git a/runtime/src/main/java/org/capnproto/RpcState.java b/runtime/src/main/java/org/capnproto/RpcState.java index c2da6a1..5b098fd 100644 --- a/runtime/src/main/java/org/capnproto/RpcState.java +++ b/runtime/src/main/java/org/capnproto/RpcState.java @@ -7,6 +7,7 @@ import java.util.concurrent.CompletionStage; final class RpcState { + final class Question { final int id; CompletableFuture response = new CompletableFuture<>(); @@ -976,7 +977,7 @@ final class RpcState { } } - private static class LocallyRedirectedRpcResponse implements RpcServerResponse, RpcResponse { + private static final class LocallyRedirectedRpcResponse implements RpcServerResponse, RpcResponse { private final MessageBuilder message = new MessageBuilder(); @@ -991,30 +992,30 @@ final class RpcState { } } - class RpcCallContext implements CallContextHook { + private final class RpcCallContext implements CallContextHook { - final int answerId; - final long interfaceId; - final short methodId; + private final int answerId; + private final long interfaceId; + private final short methodId; // request - IncomingRpcMessage request; - final AnyPointer.Reader params; + private IncomingRpcMessage request; + private final AnyPointer.Reader params; // response - RpcServerResponse response; - RpcProtocol.Return.Builder returnMessage; - boolean redirectResults = false; - boolean responseSent = false; + private RpcServerResponse response; + private RpcProtocol.Return.Builder returnMessage; + private boolean redirectResults = false; + private boolean responseSent = false; - boolean cancelRequested = false; - boolean cancelAllowed = false; + private boolean cancelRequested = false; + private boolean cancelAllowed = false; - final CompletableFuture cancelled; + private final CompletableFuture whenCancelled; RpcCallContext(int answerId, IncomingRpcMessage request, List capTable, AnyPointer.Reader params, boolean redirectResults, - CompletableFuture cancelled, + CompletableFuture whenCancelled, long interfaceId, short methodId) { this.answerId = answerId; this.interfaceId = interfaceId; @@ -1022,7 +1023,7 @@ final class RpcState { this.request = request; this.params = params.imbue(new ReaderCapabilityTable(capTable)); this.redirectResults = redirectResults; - this.cancelled = cancelled; + this.whenCancelled = whenCancelled; } @Override @@ -1037,23 +1038,23 @@ final class RpcState { @Override public AnyPointer.Builder getResults() { - if (response == null) { + if (this.response == null) { - if (redirectResults || isDisconnected()) { - response = new LocallyRedirectedRpcResponse(); + if (this.redirectResults || isDisconnected()) { + this.response = new LocallyRedirectedRpcResponse(); } else { var message = connection.newOutgoingMessage(1024); - returnMessage = message.getBody().initAs(RpcProtocol.Message.factory).initReturn(); - response = new RpcServerResponseImpl(message, returnMessage.getResults()); + this.returnMessage = message.getBody().initAs(RpcProtocol.Message.factory).initReturn(); + this.response = new RpcServerResponseImpl(message, returnMessage.getResults()); } } - return response.getResultsBuilder(); + return this.response.getResultsBuilder(); } @Override - public CompletableFuture tailCall(RequestHook request) { + public CompletableFuture tailCall(RequestHook request) { return null; } @@ -1167,7 +1168,7 @@ final class RpcState { if (previouslyAllowedButNotRequested) { // We just set CANCEL_REQUESTED, and CANCEL_ALLOWED was already set previously. Initiate // the cancellation. - this.cancelled.complete(null); + this.whenCancelled.complete(null); } // TODO do we care about cancelRequested if further completions are effectively ignored? } diff --git a/runtime/src/main/java/org/capnproto/RpcSystem.java b/runtime/src/main/java/org/capnproto/RpcSystem.java index d6bb290..69624d9 100644 --- a/runtime/src/main/java/org/capnproto/RpcSystem.java +++ b/runtime/src/main/java/org/capnproto/RpcSystem.java @@ -4,14 +4,14 @@ import java.util.HashMap; import java.util.Map; import java.util.concurrent.CompletableFuture; -public abstract class RpcSystem { +public abstract class RpcSystem { - final Network network; + final VatNetwork network; final Capability.Client bootstrapInterface; final Map connections = new HashMap<>(); CompletableFuture acceptCompleted = CompletableFuture.completedFuture(null); - public RpcSystem(Network network, Capability.Client bootstrapInterface) { + public RpcSystem(VatNetwork network, Capability.Client bootstrapInterface) { this.network = network; this.bootstrapInterface = bootstrapInterface; } @@ -36,7 +36,7 @@ public abstract class RpcSystem { CompletableFuture acceptLoop() { if (this.acceptCompleted.isDone()) { - CompletableFuture accepted = this.network.baseAccept(); + var accepted = this.network.baseAccept(); this.acceptCompleted = accepted.thenAccept(this::accept); } return this.acceptCompleted; diff --git a/runtime/src/main/java/org/capnproto/TwoPartyRpcSystem.java b/runtime/src/main/java/org/capnproto/TwoPartyRpcSystem.java index d7996b1..c99092a 100644 --- a/runtime/src/main/java/org/capnproto/TwoPartyRpcSystem.java +++ b/runtime/src/main/java/org/capnproto/TwoPartyRpcSystem.java @@ -1,7 +1,7 @@ package org.capnproto; public class TwoPartyRpcSystem - extends RpcSystem { + extends RpcSystem { public TwoPartyRpcSystem(TwoPartyVatNetwork network, Capability.Client bootstrapInterface) { super(network, bootstrapInterface);