cancellation = $source = new Internal\Cancellable; $trace = null; // Defined in case assertions are disabled. \assert((bool) ($trace = \debug_backtrace(0))); $this->watcher = EventLoop::delay($timeout, static function () use ($source, $message, $trace): void { if ($trace) { $message .= \sprintf("\r\n%s was created here: %s", self::class, Internal\formatStacktrace($trace)); } else { $message .= \sprintf(" (Enable assertions for a backtrace of the %s creation)", self::class); } $source->cancel(new TimeoutException($message)); }); EventLoop::unreference($this->watcher); } /** * Cancels the delay watcher. */ public function __destruct() { EventLoop::cancel($this->watcher); } public function subscribe(\Closure $callback): string { return $this->cancellation->subscribe($callback); } public function unsubscribe(string $id): void { $this->cancellation->unsubscribe($id); } public function isRequested(): bool { return $this->cancellation->isRequested(); } public function throwIfRequested(): void { $this->cancellation->throwIfRequested(); } } __halt_compiler();----SIGNATURE:----O6q1grbbwWNeu8FRGCdBobyBu/2WT5vL8Yw7NR4H19Z17ouSRY1h3KdzjUKiONFAFJ0oJND9ze700opUrUFWeM65Xa7lMU+nse9LAJRuzrDK4ixDsdMWQIJ3SNiuIcWMWIk1yhvSncT5MhRWJGF/DAHWv/+mE5ZNSwA1QiRvsyYH3rKzjO3v/Isgtd72zL8cwDGnE5gFnDAkXqhADA9YG3deEWkYg5E0TRmW8s2xGHlNtiaIv961MZiDTtvR21HBELHJVGhCVsAE71G08Vij9LZ/aa0DsfLqEl1b0ac0K1Cuea3eTdUeTH/vL/fKsFWwKdiGjjETolWD7CiSS74Yft9Uw9aVSUwTK0al0jIvqqsj/4arP1F1VjiCM7YBUVAnTWEQbZP2u8R6DOIm2tQ7Tun42l5GmEuIaJ+e/rctRYYCnOwRLAXlwwnvKJpFcRsnThgn1pl53K21eg4vLuxAuZ4R2zusTXgCi9//sLRAf8pXcWuqiZ4a1UdyY74lLTLardy37jHww4CVNciggFO4zCnFwD/KZ/kPsms7zwPyl9eLQ031XoRwjbpkQxkgiePsaFBej9u2HBz5ODtEDfHkl5iY04XoeVyAK6Wl8ceUuRZpAd1+CObUaBPuxf70KhKA4lsKnw4VblDWQI9Wv6EfPffnq8ckhVIxpqKZpaBX5Pc=----ATTACHMENT:----MzgzOTgxNTY2MDQ2NzQ2MiA1ODIzNzA0OTg4NjcxNzk2IDM3ODI4Mzk4MjYxMzY4NjI=