charm/loop

为 ReactPHP、Swoole、AMP 和纯 PHP 提供相同的 API。

0.0.2 2021-07-28 21:41 UTC

This package is auto-updated.

Last update: 2024-09-09 17:58:22 UTC


README

这是一个最小化的事件循环实现,它能够自动检测 ReactPHP、Amp 和 Swoole 事件循环并将它们集成在一起。如果未找到事件循环,则回退到内置的 PHP register_shutdown_function() 以创建事件循环。

接口

Charm\Loop::defer(callable $callback) 是向事件循环添加操作的常用函数。此函数直接映射到 ReactPHP、Amp、Swoole 或内部 register_shutdown_function() 事件循环的相应循环函数。

Charm\Loop::onReadable(resource $stream, callable $listener) 将在 $stream 资源不再阻塞读取时调用提供的 $listener。在事件循环的下一个迭代之前,不会调用 $listener 回调。

Charm\Loop::onWritable(resource $stream, callable $listener) 将在 $stream 资源不再阻塞写入时调用提供的 $listener。在事件循环的下一个迭代之前,不会调用 $listener 回调。

Charm\Loop::setTimeout(float $seconds, callable $callback) 将在 $seconds 秒后调用 $callback

Charm\Loop::setInterval(float $interval, callable $callback) 将每 $seconds 秒调用一次 $callback