From 3b1f5f416c96e374064293f7f11786e152e0dbb8 Mon Sep 17 00:00:00 2001 From: Vaci Koblizek Date: Tue, 1 Dec 2020 17:08:27 +0000 Subject: [PATCH] use lists for queued calls, clean up on resolution --- runtime/src/main/java/org/capnproto/Capability.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/runtime/src/main/java/org/capnproto/Capability.java b/runtime/src/main/java/org/capnproto/Capability.java index ff8b593..9bf9e28 100644 --- a/runtime/src/main/java/org/capnproto/Capability.java +++ b/runtime/src/main/java/org/capnproto/Capability.java @@ -738,8 +738,8 @@ public final class Capability { // resolves). private ClientHook redirect; - private final Queue> queuedCalls = new ArrayDeque<>(); - private final Queue pendingCalls = new ArrayDeque<>(); + private final List> queuedCalls = new ArrayList<>(); + private final List pendingCalls = new ArrayList<>(); QueuedClient(CompletableFuture promise) { this.selfResolutionOp = promise.handle((inner, exc) -> { @@ -760,6 +760,9 @@ public final class Capability { hook.releaseCall(); } + this.queuedCalls.clear(); + this.pendingCalls.clear(); + return null; }); }