From 52892478efb6fc026cd63f665d61552b72452549 Mon Sep 17 00:00:00 2001 From: Vaci Koblizek Date: Fri, 20 Nov 2020 20:08:31 +0000 Subject: [PATCH] serialise write and correct chaining --- .../src/main/java/org/capnproto/TwoPartyVatNetwork.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/runtime-rpc/src/main/java/org/capnproto/TwoPartyVatNetwork.java b/runtime-rpc/src/main/java/org/capnproto/TwoPartyVatNetwork.java index 1e82da3..0ae1ecd 100644 --- a/runtime-rpc/src/main/java/org/capnproto/TwoPartyVatNetwork.java +++ b/runtime-rpc/src/main/java/org/capnproto/TwoPartyVatNetwork.java @@ -133,6 +133,10 @@ public class TwoPartyVatNetwork } } + private synchronized void write(MessageBuilder message) { + this.previousWrite = this.previousWrite.thenCompose(void_ -> Serialize.writeAsync(channel, message)); + } + final class OutgoingMessage implements OutgoingRpcMessage { private final MessageBuilder message; @@ -156,7 +160,7 @@ public class TwoPartyVatNetwork @Override public void send() { - previousWrite = previousWrite.thenRun(() -> Serialize.writeAsync(channel, message)); + write(message); } @Override