From 0f620fad94a6db83e87746ce37baa1657f76caf0 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Fri, 17 Nov 2023 13:30:44 +0000 Subject: [PATCH] ChunkCache: inline unnecessary function --- src/network/mcpe/cache/ChunkCache.php | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/src/network/mcpe/cache/ChunkCache.php b/src/network/mcpe/cache/ChunkCache.php index 9c12a3bb3..71010a041 100644 --- a/src/network/mcpe/cache/ChunkCache.php +++ b/src/network/mcpe/cache/ChunkCache.php @@ -136,32 +136,19 @@ class ChunkCache implements ChunkListener{ return $existing !== null; } - /** - * Restarts an async request for an unresolved chunk. - * - * @throws \InvalidArgumentException - */ - private function restartPendingRequest(int $chunkX, int $chunkZ) : void{ - $chunkHash = World::chunkHash($chunkX, $chunkZ); - $existing = $this->caches[$chunkHash] ?? null; - if($existing === null || $existing->hasResult()){ - throw new \InvalidArgumentException("Restart can only be applied to unresolved promises"); - } - $existing->cancel(); - unset($this->caches[$chunkHash]); - - $this->request($chunkX, $chunkZ)->onResolve(...$existing->getResolveCallbacks()); - } - /** * @throws \InvalidArgumentException */ private function destroyOrRestart(int $chunkX, int $chunkZ) : void{ - $cache = $this->caches[World::chunkHash($chunkX, $chunkZ)] ?? null; + $chunkPosHash = World::chunkHash($chunkX, $chunkZ); + $cache = $this->caches[$chunkPosHash] ?? null; if($cache !== null){ if(!$cache->hasResult()){ //some requesters are waiting for this chunk, so their request needs to be fulfilled - $this->restartPendingRequest($chunkX, $chunkZ); + $cache->cancel(); + unset($this->caches[$chunkPosHash]); + + $this->request($chunkX, $chunkZ)->onResolve(...$cache->getResolveCallbacks()); }else{ //dump the cache, it'll be regenerated the next time it's requested $this->destroy($chunkX, $chunkZ);