Skip to content

Instantly share code, notes, and snippets.

@masakielastic
masakielastic / scheduler.php
Created February 25, 2026 16:02
HTTPS対応版:Fiberスケジューラ + https_get_async()
<?php
/**
* Fiber協調スケジューラ(sleep + readable + writable)
*/
final class Scheduler
{
/** @var SplQueue<array{0:Fiber,1:mixed}> */
private SplQueue $ready;
@masakielastic
masakielastic / scheduler.php
Created February 25, 2026 15:56
スケジューラーで非同期 HTTP GET
<?php
/**
* Fiber協調スケジューラ(sleep + readable + writable)
* - await(['sleep', seconds]) -> resume(seconds)
* - await(['readable', stream]) -> resume(stream)
* - await(['writable', stream]) -> resume(stream)
*/
final class Scheduler
{
@masakielastic
masakielastic / scheduler.php
Created February 25, 2026 15:53
Fiber協調スケジューラ。入力待ち
<?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}> */
@masakielastic
masakielastic / scheduler.php
Last active February 25, 2026 15:47
ミニスケジューラー (PHP)
<?php
/**
* 超ミニ協調スケジューラ
* - newTask(fn) でタスク(Fiber)登録
* - sleep(seconds) で「指定時刻まで待つ」をFiber側から要求
* - run() で実行(単一スレッド、協調のみ)
*/
final class Scheduler
{
@masakielastic
masakielastic / README.md
Created February 25, 2026 01:33
リクエストとレスポンスの扱い | PHP 拡張 ext-php-rs

リクエストとレスポンスの扱い | PHP 拡張 ext-php-rs

src/main.rs

[package]
name = "php_warp_server"
version = "0.1.0"
edition = "2021"
@masakielastic
masakielastic / README.md
Last active February 25, 2026 00:12
warp v0.4 でシングルスレッド・マルチスレッド

warp v0.4 でシングルスレッド

シングルスレッド

Cargo.toml

[package]
name = "warp-project"
@masakielastic
masakielastic / README.md
Last active February 24, 2026 23:43
poll/await 風のコード | PHP 拡張 ext-php-rs

poll/await 風のコード | PHP 拡張 ext-php-rs

Cargo.toml

[package]
name = "async-project"
version = "0.1.0"
edition = "2024"
@masakielastic
masakielastic / README.md
Last active February 24, 2026 23:07
クロージャ | PHP 拡張 ext-php-rs

クロージャ | PHP 拡張 ext-php-rs

Cargo.toml

[package]
name = "closure-project"
version = "0.1.0"
edition = "2024"
@masakielastic
masakielastic / README.md
Last active February 24, 2026 21:58
レスポンスを扱う | PHP 拡張 ext-php-rs

リクエストとレスポンスを扱うハンドラを登録する | PHP 拡張 ext-php-rs

ソースコード

Cargo.toml

[package]
@masakielastic
masakielastic / README.md
Created February 24, 2026 19:55
warp v0.4 で TLS なしの HTTP サーバーその2・JSON レスポンス | PHP 拡張、ext-php-rs

warp v0.4 で TLS なしの HTTP サーバーその2・JSON レスポンス | PHP 拡張、ext-php-rs

コード

Cargo.toml