public function triggerGarbageCollector()
{
Timings::$garbageCollectorTimer->startTiming();
if ($this->garbageCollectionAsync) {
$size = $this->server->getScheduler()->getAsyncTaskPoolSize();
for ($i = 0; $i < $size; ++$i) {
$this->server->getScheduler()->scheduleAsyncTaskToWorker(new GarbageCollectionTask(), $i);
}
}
$cycles = gc_collect_cycles();
foreach ($this->server->getLevels() as $level) {
$level->doChunkGarbageCollection();
}
Timings::$garbageCollectorTimer->stopTiming();
return $cycles;
}