From b42674ac06c9e5da1791af1f7638142e66366857 Mon Sep 17 00:00:00 2001 From: CalDescent Date: Wed, 5 Jan 2022 19:26:06 +0000 Subject: [PATCH] Small code reorganization to improve logic when adding arbitrary peer data --- .../arbitrary/ArbitraryDataFileManager.java | 9 ++++----- .../arbitrary/ArbitraryDataManager.java | 15 +++++++-------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileManager.java b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileManager.java index 17b204c7..b8bcbce7 100644 --- a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileManager.java +++ b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileManager.java @@ -136,14 +136,13 @@ public class ArbitraryDataFileManager { if (receivedAtLeastOneFile) { // Update our lookup table to indicate that this peer holds data for this signature String peerAddress = peer.getPeerData().getAddress().toString(); - LOGGER.debug("Adding arbitrary peer: {} for signature {}", peerAddress, Base58.encode(signature)); ArbitraryPeerData arbitraryPeerData = new ArbitraryPeerData(signature, peer); repository.discardChanges(); - if (!arbitraryPeerData.isPeerAddressValid()) { - return false; + if (arbitraryPeerData.isPeerAddressValid()) { + LOGGER.debug("Adding arbitrary peer: {} for signature {}", peerAddress, Base58.encode(signature)); + repository.getArbitraryRepository().save(arbitraryPeerData); + repository.saveChanges(); } - repository.getArbitraryRepository().save(arbitraryPeerData); - repository.saveChanges(); // Invalidate the hosted transactions cache as we are now hosting something new ArbitraryDataStorageManager.getInstance().invalidateHostedTransactionsCache(); diff --git a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataManager.java b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataManager.java index 94b05c86..ca773b78 100644 --- a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataManager.java +++ b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataManager.java @@ -413,17 +413,16 @@ public class ArbitraryDataManager extends Thread { if (existingEntry == null) { // We haven't got a record of this mapping yet, so add it - LOGGER.debug("Adding arbitrary peer: {} for signature {}", peerAddress, Base58.encode(signature)); ArbitraryPeerData arbitraryPeerData = new ArbitraryPeerData(signature, peerAddress); repository.discardChanges(); - if (!arbitraryPeerData.isPeerAddressValid()) { - return; - } - repository.getArbitraryRepository().save(arbitraryPeerData); - repository.saveChanges(); + if (arbitraryPeerData.isPeerAddressValid()) { + LOGGER.debug("Adding arbitrary peer: {} for signature {}", peerAddress, Base58.encode(signature)); + repository.getArbitraryRepository().save(arbitraryPeerData); + repository.saveChanges(); - // Remember that this data is new, so that it can be rebroadcast later - containsNewEntry = true; + // Remember that this data is new, so that it can be rebroadcast later + containsNewEntry = true; + } } }