From ca7ceed32f341c3dc984f45a73936de178a7576b Mon Sep 17 00:00:00 2001 From: Vaci Koblizek Date: Tue, 9 Aug 2022 10:42:32 +0100 Subject: [PATCH] remove AsynchronousByteListenChannel --- .../main/java/org/capnproto/EzRpcServer.java | 17 +---------------- .../main/java/org/capnproto/TwoPartyServer.java | 6 +++--- .../java/org/capnproto/TwoPartyVatNetwork.java | 5 ++++- .../AsynchronousByteListenChannel.java | 8 -------- 4 files changed, 8 insertions(+), 28 deletions(-) delete mode 100644 runtime/src/main/java/org/capnproto/AsynchronousByteListenChannel.java diff --git a/runtime-rpc/src/main/java/org/capnproto/EzRpcServer.java b/runtime-rpc/src/main/java/org/capnproto/EzRpcServer.java index 21001bd..f8116c1 100644 --- a/runtime-rpc/src/main/java/org/capnproto/EzRpcServer.java +++ b/runtime-rpc/src/main/java/org/capnproto/EzRpcServer.java @@ -31,21 +31,6 @@ public class EzRpcServer { } public CompletableFuture start() { - return this.twoPartyRpc.listen(new AsynchronousByteListenChannel() { - @Override - public void accept(A attachment, CompletionHandler handler) { - serverAcceptSocket.accept(attachment, new CompletionHandler<>() { - @Override - public void completed(AsynchronousSocketChannel result, A attachment) { - handler.completed(result, attachment); - } - - @Override - public void failed(Throwable exc, A attachment) { - handler.failed(exc, attachment); - } - }); - } - }); + return this.twoPartyRpc.listen(this.serverAcceptSocket); } } diff --git a/runtime-rpc/src/main/java/org/capnproto/TwoPartyServer.java b/runtime-rpc/src/main/java/org/capnproto/TwoPartyServer.java index aaf59c0..b4df339 100644 --- a/runtime-rpc/src/main/java/org/capnproto/TwoPartyServer.java +++ b/runtime-rpc/src/main/java/org/capnproto/TwoPartyServer.java @@ -39,11 +39,11 @@ public class TwoPartyServer { }); } - public CompletableFuture listen(AsynchronousByteListenChannel listener) { - var result = new CompletableFuture(); + public CompletableFuture listen(AsynchronousServerSocketChannel listener) { + var result = new CompletableFuture(); listener.accept(null, new CompletionHandler<>() { @Override - public void completed(AsynchronousByteChannel channel, Object attachment) { + public void completed(AsynchronousSocketChannel channel, Object attachment) { accept(channel); result.complete(null); } diff --git a/runtime-rpc/src/main/java/org/capnproto/TwoPartyVatNetwork.java b/runtime-rpc/src/main/java/org/capnproto/TwoPartyVatNetwork.java index 3344147..615318f 100644 --- a/runtime-rpc/src/main/java/org/capnproto/TwoPartyVatNetwork.java +++ b/runtime-rpc/src/main/java/org/capnproto/TwoPartyVatNetwork.java @@ -2,6 +2,7 @@ package org.capnproto; import java.io.FileDescriptor; import java.nio.channels.AsynchronousByteChannel; +import java.nio.channels.AsynchronousSocketChannel; import java.util.List; import java.util.concurrent.CompletableFuture; @@ -71,7 +72,9 @@ public class TwoPartyVatNetwork var result = this.previousWrite.whenComplete((void_, exc) -> { try { - this.channel.shutdownOutput(); + if (this.channel instanceof AsynchronousSocketChannel) { + ((AsynchronousSocketChannel)this.channel).shutdownOutput(); + } } catch (Exception ignored) { } diff --git a/runtime/src/main/java/org/capnproto/AsynchronousByteListenChannel.java b/runtime/src/main/java/org/capnproto/AsynchronousByteListenChannel.java deleted file mode 100644 index 99161ac..0000000 --- a/runtime/src/main/java/org/capnproto/AsynchronousByteListenChannel.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.capnproto; - -import java.nio.channels.AsynchronousByteChannel; -import java.nio.channels.CompletionHandler; - -public interface AsynchronousByteListenChannel { - public abstract void accept(A attachment, CompletionHandler handler); -}