From d51550099638640bb09f3eea623617add11d7719 Mon Sep 17 00:00:00 2001 From: Vaci Koblizek Date: Fri, 30 Oct 2020 18:27:21 +0000 Subject: [PATCH] get rid of PipelineBase and PipelineImpl again --- compiler/src/main/cpp/capnpc-java.c++ | 2 +- .../main/java/org/capnproto/AnyPointer.java | 30 +++++++++++++---- .../{PipelineBase.java => Pipeline.java} | 2 +- .../java/org/capnproto/PipelineFactory.java | 5 --- .../main/java/org/capnproto/PipelineImpl.java | 32 ------------------- 5 files changed, 26 insertions(+), 45 deletions(-) rename runtime/src/main/java/org/capnproto/{PipelineBase.java => Pipeline.java} (68%) delete mode 100644 runtime/src/main/java/org/capnproto/PipelineFactory.java delete mode 100644 runtime/src/main/java/org/capnproto/PipelineImpl.java diff --git a/compiler/src/main/cpp/capnpc-java.c++ b/compiler/src/main/cpp/capnpc-java.c++ index 8b2387d..480b6fa 100644 --- a/compiler/src/main/cpp/capnpc-java.c++ +++ b/compiler/src/main/cpp/capnpc-java.c++ @@ -1665,7 +1665,7 @@ private: KJ_MAP(n, nestedTypeDecls) { return kj::mv(n); }, //spaces(indent), " public interface Pipeline", readerTypeParams, " extends org.capnproto.RemotePromise {\n", - spaces(indent), " public interface Pipeline", readerTypeParams, " extends org.capnproto.PipelineBase {\n", + spaces(indent), " public interface Pipeline", readerTypeParams, " extends org.capnproto.Pipeline {\n", //spaces(indent), " private final org.capnproto.PipelineImpl typeless;\n", //spaces(indent), " org.capnproto.AnyPointer.Pipeline getTypeless();\n", //spaces(indent), " public Pipeline(", diff --git a/runtime/src/main/java/org/capnproto/AnyPointer.java b/runtime/src/main/java/org/capnproto/AnyPointer.java index 105c66d..0d5a18b 100644 --- a/runtime/src/main/java/org/capnproto/AnyPointer.java +++ b/runtime/src/main/java/org/capnproto/AnyPointer.java @@ -35,9 +35,6 @@ public final class AnyPointer { result.clear(); return result; } - public Pipeline newPipeline(PipelineImpl typeless) { - return new AnyPointer.Pipeline(typeless.hook, typeless.ops); - } } public static final Factory factory = new Factory(); @@ -145,20 +142,41 @@ public final class AnyPointer { } } - public static class Pipeline extends PipelineImpl implements PipelineBase { + public static class Pipeline implements org.capnproto.Pipeline { + + protected final PipelineHook hook; + protected final PipelineOp[] ops; public Pipeline(PipelineHook hook) { this(hook, new PipelineOp[0]); } Pipeline(PipelineHook hook, PipelineOp[] ops) { - super(hook, ops); + this.hook = hook; + this.ops = ops; } @Override public Pipeline typelessPipeline() { return this; } + + Pipeline noop() { + return new Pipeline(this.hook, this.ops.clone()); + } + + public ClientHook asCap() { + return this.hook.getPipelinedCap(ops); + } + + public Pipeline getPointerField(short pointerIndex) { + var newOps = new PipelineOp[this.ops.length + 1]; + for (int ii = 0; ii < this.ops.length; ++ii) { + newOps[ii] = this.ops[ii]; + } + newOps[this.ops.length] = PipelineOp.PointerField(pointerIndex); + return new Pipeline(this.hook, newOps); + } } public static final class Request @@ -186,7 +204,7 @@ public final class AnyPointer { public RequestHook getHook() { return this.requestHook; } - + @Override public FromPointerBuilder getParamsFactory() { return AnyPointer.factory; diff --git a/runtime/src/main/java/org/capnproto/PipelineBase.java b/runtime/src/main/java/org/capnproto/Pipeline.java similarity index 68% rename from runtime/src/main/java/org/capnproto/PipelineBase.java rename to runtime/src/main/java/org/capnproto/Pipeline.java index 03cc4d5..1cfe25e 100644 --- a/runtime/src/main/java/org/capnproto/PipelineBase.java +++ b/runtime/src/main/java/org/capnproto/Pipeline.java @@ -1,5 +1,5 @@ package org.capnproto; -public interface PipelineBase { +public interface Pipeline { AnyPointer.Pipeline typelessPipeline(); } diff --git a/runtime/src/main/java/org/capnproto/PipelineFactory.java b/runtime/src/main/java/org/capnproto/PipelineFactory.java deleted file mode 100644 index 0adad03..0000000 --- a/runtime/src/main/java/org/capnproto/PipelineFactory.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.capnproto; - -public interface PipelineFactory { - Pipeline newPipeline(RemotePromise promise, PipelineImpl typeless); -} diff --git a/runtime/src/main/java/org/capnproto/PipelineImpl.java b/runtime/src/main/java/org/capnproto/PipelineImpl.java deleted file mode 100644 index de97fff..0000000 --- a/runtime/src/main/java/org/capnproto/PipelineImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.capnproto; - -public class PipelineImpl { - protected final PipelineHook hook; - protected final PipelineOp[] ops; - - public PipelineImpl(PipelineHook hook) { - this(hook, new PipelineOp[0]); - } - - public PipelineImpl(PipelineHook hook, PipelineOp[] ops) { - this.hook = hook; - this.ops = ops; - } - - PipelineImpl noop() { - return new PipelineImpl(this.hook, this.ops.clone()); - } - - public ClientHook asCap() { - return this.hook.getPipelinedCap(ops); - } - - public AnyPointer.Pipeline getPointerField(short pointerIndex) { - var newOps = new PipelineOp[this.ops.length+1]; - for (int ii = 0; ii < this.ops.length; ++ii) { - newOps[ii] = this.ops[ii]; - } - newOps[this.ops.length] = PipelineOp.PointerField(pointerIndex); - return new AnyPointer.Pipeline(this.hook, newOps); - } -}