diff options
author | Olli Virtanen <olli.virtanen@oath.com> | 2018-12-19 13:34:15 +0200 |
---|---|---|
committer | Olli Virtanen <olli.virtanen@oath.com> | 2018-12-19 13:34:15 +0200 |
commit | 9fede395bcf3fe1f1af3a228046fcd51b7eee197 (patch) | |
tree | ca4de2923b4ff1105c497d8da3be20716d50c3f0 /container-search/src/main/java/com/yahoo/search/dispatch/CloseableInvoker.java | |
parent | 26c6781168f21eb58bb86f1c40babd3a38e03dfd (diff) |
Adaptive load balancing scheduler, coverage calculation fixes
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/dispatch/CloseableInvoker.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/dispatch/CloseableInvoker.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/CloseableInvoker.java b/container-search/src/main/java/com/yahoo/search/dispatch/CloseableInvoker.java index 481940a33b7..515d6249fd8 100644 --- a/container-search/src/main/java/com/yahoo/search/dispatch/CloseableInvoker.java +++ b/container-search/src/main/java/com/yahoo/search/dispatch/CloseableInvoker.java @@ -2,6 +2,7 @@ package com.yahoo.search.dispatch; import java.io.Closeable; +import java.util.function.BiConsumer; /** * CloseableInvoker is an abstract implementation of {@link Closeable} with an additional hook for @@ -13,16 +14,23 @@ import java.io.Closeable; public abstract class CloseableInvoker implements Closeable { protected abstract void release(); - private Runnable teardown = null; + private BiConsumer<Boolean, Long> teardown = null; + private boolean success = false; + private long startTime = 0; - public void teardown(Runnable teardown) { + public void teardown(BiConsumer<Boolean, Long> teardown) { this.teardown = teardown; + this.startTime = System.currentTimeMillis(); + } + + protected void setFinalStatus(boolean success) { + this.success = success; } @Override public final void close() { if (teardown != null) { - teardown.run(); + teardown.accept(success, System.currentTimeMillis() - startTime); teardown = null; } release(); |