use lists for queued calls, clean up on resolution
This commit is contained in:
parent
837f1b324c
commit
3b1f5f416c
1 changed files with 5 additions and 2 deletions
|
@ -738,8 +738,8 @@ public final class Capability {
|
||||||
// resolves).
|
// resolves).
|
||||||
|
|
||||||
private ClientHook redirect;
|
private ClientHook redirect;
|
||||||
private final Queue<CompletableFuture<ClientHook>> queuedCalls = new ArrayDeque<>();
|
private final List<CompletableFuture<ClientHook>> queuedCalls = new ArrayList<>();
|
||||||
private final Queue<LocalRequest> pendingCalls = new ArrayDeque<>();
|
private final List<LocalRequest> pendingCalls = new ArrayList<>();
|
||||||
|
|
||||||
QueuedClient(CompletableFuture<ClientHook> promise) {
|
QueuedClient(CompletableFuture<ClientHook> promise) {
|
||||||
this.selfResolutionOp = promise.handle((inner, exc) -> {
|
this.selfResolutionOp = promise.handle((inner, exc) -> {
|
||||||
|
@ -760,6 +760,9 @@ public final class Capability {
|
||||||
hook.releaseCall();
|
hook.releaseCall();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.queuedCalls.clear();
|
||||||
|
this.pendingCalls.clear();
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue