diff --git a/cache-client/src/main/java/net/runelite/cache/client/CacheClient.java b/cache-client/src/main/java/net/runelite/cache/client/CacheClient.java index 8fe0f02f59..af93191ad6 100644 --- a/cache-client/src/main/java/net/runelite/cache/client/CacheClient.java +++ b/cache-client/src/main/java/net/runelite/cache/client/CacheClient.java @@ -279,6 +279,10 @@ public class CacheClient implements AutoCloseable { logger.debug("Archive {}/{} in index {} is up to date", ad.getId(), indexData.getArchives().length, index.getId()); + if (watcher != null) + { + watcher.alreadyUpToDate(existing); + } continue; } diff --git a/cache-client/src/main/java/net/runelite/cache/client/DownloadWatcher.java b/cache-client/src/main/java/net/runelite/cache/client/DownloadWatcher.java index 39812c0796..e96f2df2fe 100644 --- a/cache-client/src/main/java/net/runelite/cache/client/DownloadWatcher.java +++ b/cache-client/src/main/java/net/runelite/cache/client/DownloadWatcher.java @@ -31,5 +31,7 @@ public interface DownloadWatcher { void indexComplete(Index index); + void alreadyUpToDate(Archive archive); + void downloadComplete(Archive archive, byte[] data); } diff --git a/http-service/src/main/java/net/runelite/http/service/cache/CacheUpdater.java b/http-service/src/main/java/net/runelite/http/service/cache/CacheUpdater.java index 4d93cbaa5d..f09e72cf45 100644 --- a/http-service/src/main/java/net/runelite/http/service/cache/CacheUpdater.java +++ b/http-service/src/main/java/net/runelite/http/service/cache/CacheUpdater.java @@ -65,7 +65,7 @@ public class CacheUpdater private final Sql2o sql2o; private final MinioClient minioClient; - + @Value("${minio.bucket}") private String minioBucket; @@ -116,11 +116,21 @@ public class CacheUpdater indexEntryMap.put(index, entry); } + @Override + public void alreadyUpToDate(Archive archive) + { + updateArchive(archive); + } + @Override public void downloadComplete(Archive archive, byte[] data) { executor.submit(new CacheUploader(minioClient, minioBucket, archive, data)); + updateArchive(archive); + } + private void updateArchive(Archive archive) + { IndexEntry entry = indexEntryMap.get(archive.getIndex()); ArchiveEntry archiveEntry = cacheDao.findArchive(con, entry, archive.getArchiveId(), archive.getNameHash(), archive.getCrc(), archive.getRevision());