From 5f69f769d6baee3d9dd2ab050061e4694bb1d97b Mon Sep 17 00:00:00 2001 From: Sean Gilligan Date: Thu, 3 Mar 2022 17:18:57 -0800 Subject: [PATCH] DownloadProgressTracker: convert to CompletableFuture --- .../core/listeners/DownloadProgressTracker.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/core/src/main/java/org/bitcoinj/core/listeners/DownloadProgressTracker.java b/core/src/main/java/org/bitcoinj/core/listeners/DownloadProgressTracker.java index 088f220c2..696adbe3c 100644 --- a/core/src/main/java/org/bitcoinj/core/listeners/DownloadProgressTracker.java +++ b/core/src/main/java/org/bitcoinj/core/listeners/DownloadProgressTracker.java @@ -21,8 +21,7 @@ import org.bitcoinj.core.Block; import org.bitcoinj.core.FilteredBlock; import org.bitcoinj.core.Peer; import org.bitcoinj.core.Utils; -import com.google.common.util.concurrent.ListenableFuture; -import com.google.common.util.concurrent.SettableFuture; +import org.bitcoinj.utils.ListenableCompletableFuture; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,7 +39,7 @@ public class DownloadProgressTracker extends AbstractPeerDataEventListener { private static final Logger log = LoggerFactory.getLogger(DownloadProgressTracker.class); private int originalBlocksLeft = -1; private int lastPercent = 0; - private SettableFuture future = SettableFuture.create(); + private final ListenableCompletableFuture future = new ListenableCompletableFuture<>(); private boolean caughtUp = false; @Override @@ -55,7 +54,7 @@ public class DownloadProgressTracker extends AbstractPeerDataEventListener { log.info("Chain download switched to {}", peer); if (blocksLeft == 0) { doneDownload(); - future.set(peer.getBestHeight()); + future.complete(peer.getBestHeight()); } } @@ -71,7 +70,7 @@ public class DownloadProgressTracker extends AbstractPeerDataEventListener { progress(lastPercent, blocksLeft, new Date(block.getTimeSeconds() * 1000)); } doneDownload(); - future.set(peer.getBestHeight()); + future.complete(peer.getBestHeight()); return; } @@ -127,7 +126,7 @@ public class DownloadProgressTracker extends AbstractPeerDataEventListener { * Returns a listenable future that completes with the height of the best chain (as reported by the peer) once chain * download seems to be finished. */ - public ListenableFuture getFuture() { + public ListenableCompletableFuture getFuture() { return future; } }