From 6423d5e4745b6ca39e2cea4b6b2121b6102e0e82 Mon Sep 17 00:00:00 2001 From: CalDescent Date: Fri, 21 Jan 2022 14:12:59 +0000 Subject: [PATCH] Optimized onNetworkGetArbitraryDataFileListMessage() to remove duplicate calls to Files.exists() --- .../arbitrary/ArbitraryDataFileListManager.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileListManager.java b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileListManager.java index f9656f14..6419a51e 100644 --- a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileListManager.java +++ b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataFileListManager.java @@ -440,26 +440,34 @@ public class ArbitraryDataFileListManager { if (metadataHash != null) { arbitraryDataFile.setMetadataHash(metadataHash); + // Assume all chunks exists, unless one can't be found below + allChunksExist = true; + // If we have the metadata file, add its hash if (arbitraryDataFile.getMetadataFile().exists()) { hashes.add(arbitraryDataFile.getMetadataHash()); } - - // Check if we have all the chunks (and the metadata file) - allChunksExist = arbitraryDataFile.allChunksExist(); + else { + allChunksExist = false; + } for (ArbitraryDataFileChunk chunk : arbitraryDataFile.getChunks()) { if (chunk.exists()) { hashes.add(chunk.getHash()); //LOGGER.trace("Added hash {}", chunk.getHash58()); } else { - LOGGER.debug("Couldn't add hash {} because it doesn't exist", chunk.getHash58()); + LOGGER.trace("Couldn't add hash {} because it doesn't exist", chunk.getHash58()); + allChunksExist = false; } } } else { // This transaction has no chunks, so include the complete file if we have it if (arbitraryDataFile.exists()) { hashes.add(arbitraryDataFile.getHash()); + allChunksExist = true; + } + else { + allChunksExist = false; } } }