mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-04-21 08:17:34 +00:00
AsyncTask: Remove misleading methods getFromThreadStore(),saveToThreadStore(),removeFromThreadStore()
These methods are commonly mixed up when we talk about thread-local storage. What these things actually do is store persistent data on the worker thread.
This commit is contained in:
parent
6214a9398d
commit
2c4f2810d2
@ -51,13 +51,13 @@ class GeneratorRegisterTask extends AsyncTask{
|
||||
BlockFactory::init();
|
||||
Biome::init();
|
||||
$manager = new SimpleChunkManager($this->worldHeight);
|
||||
$this->saveToThreadStore("generation.level{$this->levelId}.manager", $manager);
|
||||
$this->worker->saveToThreadStore("generation.level{$this->levelId}.manager", $manager);
|
||||
|
||||
/**
|
||||
* @var Generator $generator
|
||||
* @see Generator::__construct()
|
||||
*/
|
||||
$generator = new $this->generatorClass($manager, $this->seed, unserialize($this->settings));
|
||||
$this->saveToThreadStore("generation.level{$this->levelId}.generator", $generator);
|
||||
$this->worker->saveToThreadStore("generation.level{$this->levelId}.generator", $generator);
|
||||
}
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ class GeneratorUnregisterTask extends AsyncTask{
|
||||
}
|
||||
|
||||
public function onRun() : void{
|
||||
$this->removeFromThreadStore("generation.level{$this->levelId}.manager");
|
||||
$this->removeFromThreadStore("generation.level{$this->levelId}.generator");
|
||||
$this->worker->removeFromThreadStore("generation.level{$this->levelId}.manager");
|
||||
$this->worker->removeFromThreadStore("generation.level{$this->levelId}.generator");
|
||||
}
|
||||
}
|
||||
|
@ -58,9 +58,9 @@ class PopulationTask extends AsyncTask{
|
||||
|
||||
public function onRun() : void{
|
||||
/** @var SimpleChunkManager $manager */
|
||||
$manager = $this->getFromThreadStore("generation.level{$this->levelId}.manager");
|
||||
$manager = $this->worker->getFromThreadStore("generation.level{$this->levelId}.manager");
|
||||
/** @var Generator $generator */
|
||||
$generator = $this->getFromThreadStore("generation.level{$this->levelId}.generator");
|
||||
$generator = $this->worker->getFromThreadStore("generation.level{$this->levelId}.generator");
|
||||
if($manager === null or $generator === null){
|
||||
$this->state = false;
|
||||
return;
|
||||
|
@ -138,45 +138,6 @@ abstract class AsyncTask extends \Threaded{
|
||||
return $this->submitted;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see AsyncWorker::getFromThreadStore()
|
||||
*
|
||||
* @param string $identifier
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function getFromThreadStore(string $identifier){
|
||||
if($this->worker === null or $this->isFinished()){
|
||||
throw new \BadMethodCallException("Objects stored in AsyncWorker thread-local storage can only be retrieved during task execution");
|
||||
}
|
||||
return $this->worker->getFromThreadStore($identifier);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see AsyncWorker::saveToThreadStore()
|
||||
*
|
||||
* @param string $identifier
|
||||
* @param mixed $value
|
||||
*/
|
||||
public function saveToThreadStore(string $identifier, $value) : void{
|
||||
if($this->worker === null or $this->isFinished()){
|
||||
throw new \BadMethodCallException("Objects can only be added to AsyncWorker thread-local storage during task execution");
|
||||
}
|
||||
$this->worker->saveToThreadStore($identifier, $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see AsyncWorker::removeFromThreadStore()
|
||||
*
|
||||
* @param string $identifier
|
||||
*/
|
||||
public function removeFromThreadStore(string $identifier) : void{
|
||||
if($this->worker === null or $this->isFinished()){
|
||||
throw new \BadMethodCallException("Objects can only be removed from AsyncWorker thread-local storage during task execution");
|
||||
}
|
||||
$this->worker->removeFromThreadStore($identifier);
|
||||
}
|
||||
|
||||
/**
|
||||
* Actions to execute when run
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user