Skip to content

Commit 64f5e0d

Browse files
committed
Run purgeStaleTickets async
1 parent 20c286d commit 64f5e0d

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

shreddedpaper-server/minecraft-patches/sources/net/minecraft/server/level/ServerChunkCache.java.patch

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
return this.mainThreadProcessor.pollTask();
6969
}
7070

71-
@@ -474,7 +_,8 @@
71+
@@ -474,28 +_,36 @@
7272
// CraftBukkit end
7373

7474
@Override
@@ -77,8 +77,13 @@
7777
+ CompletableFuture<Void> future = CompletableFuture.completedFuture(null); // ShreddedPaper - run async
7878
ProfilerFiller profilerFiller = Profiler.get();
7979
profilerFiller.push("purge");
80+
+ CompletableFuture<Void> purgeStaleTicketsFuture = CompletableFuture.completedFuture(null); // ShreddedPaper - purgeStaleTickets async
8081
if (this.level.tickRateManager().runsNormally() || !tickChunks || this.level.spigotConfig.unloadFrozenChunks) { // Spigot
81-
@@ -485,17 +_,22 @@
82+
- this.ticketStorage.purgeStaleTickets(this.chunkMap);
83+
+ purgeStaleTicketsFuture = purgeStaleTicketsFuture.thenRunAsync(() -> this.ticketStorage.purgeStaleTickets(this.chunkMap), this.level.levelThread); // ShreddedPaper - purgeStaleTickets async
84+
}
85+
86+
this.runDistanceManagerUpdates();
8287
profilerFiller.popPush("chunks");
8388
if (tickChunks) {
8489
((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemServerLevel)this.level).moonrise$getPlayerChunkLoader().tick(); // Paper - rewrite chunk system
@@ -88,6 +93,7 @@
8893
+ future = future.thenRun(() -> this.chunkMap.tick()); // ShreddedPaper - run async
8994
}
9095

96+
+ future = CompletableFuture.allOf(future, purgeStaleTicketsFuture); // ShreddedPaper - purgeStaleTickets async
9197
+ future = future.thenRun(() -> { // ShreddedPaper - run async
9298
profilerFiller.popPush("unload");
9399
this.chunkMap.tick(hasTimeLeft);

0 commit comments

Comments
 (0)