Skip to content

Instantly share code, notes, and snippets.

@masakielastic
masakielastic / README.md
Created February 27, 2026 01:05
tiny_http で TLS

tiny_http で TLS

Cargo.toml

[package]
name = "tiny-http-tls-example"
version = "0.1.0"
edition = "2021"
@masakielastic
masakielastic / README.md
Last active February 27, 2026 00:48
ext-php-rs で PHP スクリプトを実行する CLI を作成する

ext-php-rs で PHP スクリプトを実行する CLI を作成する

ソースコード

Cargo.toml

[package]
@masakielastic
masakielastic / README.md
Last active February 26, 2026 21:41
ext-php-rs と embed PHP で実行したスクリプトの結果を取得する

ext-php-rs と embed PHP で実行したスクリプトの結果を取得する

src/main.rs

use ext_php_rs::builders::SapiBuilder;
use ext_php_rs::embed::{ext_php_rs_sapi_shutdown, ext_php_rs_sapi_startup, Embed};
use ext_php_rs::ffi::{
@masakielastic
masakielastic / README.md
Last active February 26, 2026 21:17
ext-php-rs と Embed PHP を利用して PHP スクリプトを実行する

ext-php-rs で Embed PHP を利用する

sudo apt install libphp-embed

Cargo.toml

[package]
@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"