simplify QueuedPipeline promise
This commit is contained in:
parent
6e5bcc62ae
commit
250f14e2f4
1 changed files with 2 additions and 16 deletions
|
@ -688,17 +688,14 @@ public final class Capability {
|
||||||
private static final class QueuedPipeline implements PipelineHook {
|
private static final class QueuedPipeline implements PipelineHook {
|
||||||
|
|
||||||
private final CompletableFuture<PipelineHook> promise;
|
private final CompletableFuture<PipelineHook> promise;
|
||||||
private final CompletableFuture<Void> selfResolutionOp;
|
|
||||||
PipelineHook redirect;
|
PipelineHook redirect;
|
||||||
private final Map<List<PipelineOp>, ClientHook> clientMap = new HashMap<>();
|
private final Map<List<PipelineOp>, ClientHook> clientMap = new HashMap<>();
|
||||||
|
|
||||||
QueuedPipeline(CompletableFuture<PipelineHook> promiseParam) {
|
QueuedPipeline(CompletableFuture<PipelineHook> promise) {
|
||||||
this.promise = promiseParam;
|
this.promise = promise.whenComplete((pipeline, exc) -> {
|
||||||
this.selfResolutionOp = promise.handle((pipeline, exc) -> {
|
|
||||||
this.redirect = exc == null
|
this.redirect = exc == null
|
||||||
? pipeline
|
? pipeline
|
||||||
: PipelineHook.newBrokenPipeline(exc);
|
: PipelineHook.newBrokenPipeline(exc);
|
||||||
return null;
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -713,17 +710,6 @@ public final class Capability {
|
||||||
k -> new QueuedClient(this.promise.thenApply(
|
k -> new QueuedClient(this.promise.thenApply(
|
||||||
pipeline -> pipeline.getPipelinedCap(ops))));
|
pipeline -> pipeline.getPipelinedCap(ops))));
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
@Override
|
|
||||||
public void close() {
|
|
||||||
if (this.redirect != null) {
|
|
||||||
this.redirect.close();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
this.promise.cancel(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// A ClientHook which simply queues calls while waiting for a ClientHook to which to forward them.
|
// A ClientHook which simply queues calls while waiting for a ClientHook to which to forward them.
|
||||||
|
|
Loading…
Reference in a new issue