mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-06 11:57:10 +00:00
ChunkCache: inline unnecessary function
This commit is contained in:
parent
bc07778434
commit
0f620fad94
25
src/network/mcpe/cache/ChunkCache.php
vendored
25
src/network/mcpe/cache/ChunkCache.php
vendored
@ -136,32 +136,19 @@ class ChunkCache implements ChunkListener{
|
|||||||
return $existing !== null;
|
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
|
* @throws \InvalidArgumentException
|
||||||
*/
|
*/
|
||||||
private function destroyOrRestart(int $chunkX, int $chunkZ) : void{
|
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 !== null){
|
||||||
if(!$cache->hasResult()){
|
if(!$cache->hasResult()){
|
||||||
//some requesters are waiting for this chunk, so their request needs to be fulfilled
|
//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{
|
}else{
|
||||||
//dump the cache, it'll be regenerated the next time it's requested
|
//dump the cache, it'll be regenerated the next time it's requested
|
||||||
$this->destroy($chunkX, $chunkZ);
|
$this->destroy($chunkX, $chunkZ);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user