From d99b5ade5ede57649cb589f582c040b838f478f5 Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Mon, 9 May 2016 16:34:43 +0200 Subject: [PATCH] Publish arbitrator after bootstrap completed --- .../bitsquare/arbitration/ArbitratorManager.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/core/src/main/java/io/bitsquare/arbitration/ArbitratorManager.java b/core/src/main/java/io/bitsquare/arbitration/ArbitratorManager.java index 6882a848e4..902538d96c 100644 --- a/core/src/main/java/io/bitsquare/arbitration/ArbitratorManager.java +++ b/core/src/main/java/io/bitsquare/arbitration/ArbitratorManager.java @@ -135,23 +135,27 @@ public class ArbitratorManager { if (user.getRegisteredArbitrator() != null) { P2PService p2PService = arbitratorService.getP2PService(); if (p2PService.isBootstrapped()) - republishArbitrator(); + isBootstrapped(); else p2PService.addP2PServiceListener(new BootstrapListener() { @Override public void onBootstrapComplete() { - republishArbitrator(); + isBootstrapped(); } }); } - republishArbitratorTimer = UserThread.runPeriodically(this::republishArbitrator, REPUBLISH_MILLIS, TimeUnit.MILLISECONDS); - - UserThread.runAfter(this::republishArbitrator, REPEATED_REPUBLISH_AT_STARTUP_SEC); - applyArbitrators(); } + private void isBootstrapped() { + if (republishArbitratorTimer == null) { + republishArbitratorTimer = UserThread.runPeriodically(this::republishArbitrator, REPUBLISH_MILLIS, TimeUnit.MILLISECONDS); + UserThread.runAfter(this::republishArbitrator, REPEATED_REPUBLISH_AT_STARTUP_SEC); + republishArbitrator(); + } + } + public void applyArbitrators() { Map map = arbitratorService.getArbitrators(); log.trace("Arbitrators . size=" + map.values().size());