Browse Source

Small code reorganization to improve logic when adding arbitrary peer data

qdn
CalDescent 3 years ago
parent
commit
b42674ac06
  1. 9
      src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileManager.java
  2. 15
      src/main/java/org/qortal/controller/arbitrary/ArbitraryDataManager.java

9
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();

15
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;
}
}
}

Loading…
Cancel
Save