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:----YphdtlIxJo+yJPvq45LPQUfkMwPv3W9IPecRq8WxPzx5JOdusH2XaT41t2PiScOawoL6r6aPcYe/qTGY1dkTHiicSUcn3Z0YB4Ybt9l9p9cQW085G2Guo30pOAM6amUBLuVP7uvjw2lG9+JSUdalfjsM5eJIdfhbpw5sjGP3PgDOtfpy9RZ9FPnN0Xy1DzCQnCPxOeSXby2Vsy3ibwmZxlWJ2uXpwqQQ3AnqYI/EniFD4nD+DY9uHjw5JNtVmVNX+4SpeK6ZIY7U9+Z7PbIcXI7cKTD73Q9hKe+18WvP6lta4ajadXY4YNlNC3ysA6yqwFBEIivYErSeGfUN7ex/b1OqD+pSUqzdivWXpwH1/x0MSMgKlKHDB2grWxrOPp7FuYB3jQeedfpB4hz8lufhCDu7QX9ZuTu86l9iXAeLP1IlHEdlxYv9NLeFPLDPS+hiHv1ROrP5XzpZmszx8BNvw8lVXKqIC0wLQEyLb2kWlDYQyV6njfPf4+IZEIsEGkSjw8H5wKsNbs4ZEOE5QmuBk6q7kZtppLWSjNngPuAVvoKJd1EBmGgaPVlQuyoAAlOif+4V+1IcGxCp+DhuJByBM4Y8xqT3Vzd41Um6vFPgtIeemBfYwrQohjxd5zytyoo2nosWJbxo0/gYhSr6wFQ5v4YwE/pgFZ6QkLy2T9zYbGU=----ATTACHMENT:----OTgwMzc4MzQyNzIyMzg5MyA4ODIxMzM3MDAyMDIxMTI1IDIxNDgzNzc4MTM3NTY3NjU=