From 1d69423f7bc93f7df3be23986fe48a652a1f2e8b Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Tue, 5 May 2015 17:38:47 +0200 Subject: [PATCH] PeerGroup: stop calculating speed stats and printing them once we chain sync has finished in a session. --- core/src/main/java/org/bitcoinj/core/PeerGroup.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/bitcoinj/core/PeerGroup.java b/core/src/main/java/org/bitcoinj/core/PeerGroup.java index f24e3ce2..207ad7e2 100644 --- a/core/src/main/java/org/bitcoinj/core/PeerGroup.java +++ b/core/src/main/java/org/bitcoinj/core/PeerGroup.java @@ -1524,6 +1524,8 @@ public class PeerGroup implements TransactionBroadcaster { private long[] samples; private int cursor; + private boolean syncDone; + @Override public synchronized void onBlocksDownloaded(Peer peer, Block block, @Nullable FilteredBlock filteredBlock, int blocksLeft) { blocksInLastSecond++; @@ -1572,8 +1574,10 @@ public class PeerGroup implements TransactionBroadcaster { warmupSeconds = 15; } - boolean inChainSync = chain != null && chain.getBestChainHeight() < getMostCommonChainHeight(); - if (inChainSync) { + boolean behindPeers = chain != null && chain.getBestChainHeight() < getMostCommonChainHeight(); + if (!behindPeers) + syncDone = true; + if (!syncDone) { if (warmupSeconds < 0) { // Calculate the moving average. samples[cursor++] = bytesInLastSecond;