function FiberLocal::getFiberStorage
1 call to FiberLocal::getFiberStorage()
- FiberLocal::get in vendor/
revolt/ event-loop/ src/ EventLoop/ FiberLocal.php
File
-
vendor/
revolt/ event-loop/ src/ EventLoop/ FiberLocal.php, line 35
Class
- FiberLocal
- Fiber local storage.
Namespace
Revolt\EventLoopCode
private static function getFiberStorage() : \WeakMap {
$fiber = \Fiber::getCurrent();
if ($fiber === null) {
$fiber = self::$mainFiber ??= new \Fiber(static function () : void {
// dummy fiber for main, as we need some object for the WeakMap
});
}
$localStorage = self::$localStorage ??= new \WeakMap();
return $localStorage[$fiber] ??= new \WeakMap();
}