function DriverFactory::create
Creates a new loop instance and chooses the best available driver.
Return value
Throws
\Error If an invalid class has been specified via REVOLT_LOOP_DRIVER
File
-
vendor/
revolt/ event-loop/ src/ EventLoop/ DriverFactory.php, line 23
Class
Namespace
Revolt\EventLoopCode
public function create() : Driver {
$driver = (function () {
if ($driver = $this->createDriverFromEnv()) {
return $driver;
}
if (UvDriver::isSupported()) {
return new UvDriver();
}
if (EvDriver::isSupported()) {
return new EvDriver();
}
if (EventDriver::isSupported()) {
return new EventDriver();
}
return new StreamSelectDriver();
})();
if (\getenv("REVOLT_DRIVER_DEBUG_TRACE")) {
return new TracingDriver($driver);
}
return $driver;
}