function AbstractDriver::disable
Overrides Driver::disable
2 calls to AbstractDriver::disable()
- AbstractDriver::cancel in vendor/
revolt/ event-loop/ src/ EventLoop/ Internal/ AbstractDriver.php - Cancel a callback.
- AbstractDriver::createCallbackFiber in vendor/
revolt/ event-loop/ src/ EventLoop/ Internal/ AbstractDriver.php
File
-
vendor/
revolt/ event-loop/ src/ EventLoop/ Internal/ AbstractDriver.php, line 237
Class
- AbstractDriver
- Event loop driver which implements all basic operations to allow interoperability.
Namespace
Revolt\EventLoop\InternalCode
public function disable(string $callbackId) : string {
if (!isset($this->callbacks[$callbackId])) {
return $callbackId;
}
$callback = $this->callbacks[$callbackId];
if (!$callback->enabled) {
return $callbackId;
// Callback already disabled.
}
$callback->enabled = false;
$callback->invokable = false;
$id = $callback->id;
if ($callback instanceof DeferCallback) {
// Callback was only queued to be enabled.
unset($this->enableDeferQueue[$id]);
}
elseif (isset($this->enableQueue[$id])) {
// Callback was only queued to be enabled.
unset($this->enableQueue[$id]);
}
else {
$this->deactivate($callback);
}
return $callbackId;
}