src/main.rs
[package]
name = "php_warp_server"
version = "0.1.0"
edition = "2021"| <?php | |
| /** | |
| * Fiber協調スケジューラ(sleep + readable + writable) | |
| */ | |
| final class Scheduler | |
| { | |
| /** @var SplQueue<array{0:Fiber,1:mixed}> */ | |
| private SplQueue $ready; |
| <?php | |
| /** | |
| * Fiber協調スケジューラ(sleep + readable + writable) | |
| * - await(['sleep', seconds]) -> resume(seconds) | |
| * - await(['readable', stream]) -> resume(stream) | |
| * - await(['writable', stream]) -> resume(stream) | |
| */ | |
| final class Scheduler | |
| { |
| <?php | |
| /** | |
| * Fiber協調スケジューラ(sleep + stream_select readable 対応) | |
| * - await(['sleep', seconds]) → 指定時刻に resume(value) | |
| * - await(['readable', stream]) → stream が readable になったら resume(stream) | |
| */ | |
| final class Scheduler | |
| { | |
| /** @var SplQueue<array{0:Fiber,1:mixed}> */ |
| <?php | |
| /** | |
| * 超ミニ協調スケジューラ | |
| * - newTask(fn) でタスク(Fiber)登録 | |
| * - sleep(seconds) で「指定時刻まで待つ」をFiber側から要求 | |
| * - run() で実行(単一スレッド、協調のみ) | |
| */ | |
| final class Scheduler | |
| { |