Skip to content

Instantly share code, notes, and snippets.

@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

@masakielastic
masakielastic / README.md
Last active February 24, 2026 20:05
warp v0.4 で TLS なしの HTTP サーバー | PHP 拡張、ext-php-rs

warp v0.4 で TLS なしの HTTP サーバー | PHP 拡張、ext-php-rs

コード

Cargo.toml

[package]
@masakielastic
masakielastic / README.md
Created February 24, 2026 18:47
PHP 拡張モジュールで reqwest を扱う | ext-php-rs

PHP 拡張モジュールで reqwest を扱う | ext-php-rs

コード

Cargo.toml

[package]
name = "php_tokio_reqwest"
@masakielastic
masakielastic / README.md
Last active February 24, 2026 18:36
PHP 拡張モジュールで Tokio を扱う | ext-php-rs

PHP 拡張モジュールで Tokio を扱う | ext-php-rs

本拡張は、Rust 側で Tokio を用いた async/await 実装を行いつつ、PHP へは 同期(blocking)API として公開する方式を採用する。 PHP から見ると通常の関数呼び出しだが、内部では Tokio の非同期タスクを実行し、block_on により結果を待ち受けて返す。

コード

@masakielastic
masakielastic / README.md
Last active February 23, 2026 20:51
H2O で HTTP/2 サーバー (libuv)

H2O で HTTP/2 サーバー (libuv)

gcc server_h2_tls.c -o server_h2_tls \
  -I"$HOME/.local/include" \
  -L"$HOME/.local/lib" \
  -lh2o -luv -lssl -lcrypto -lm -lpthread
@masakielastic
masakielastic / README.md
Created February 23, 2026 20:08
H2O で HTTP/1 サーバー (libuv)

H2O で HTTP/1 サーバー (libuv)

gcc server.c -o server   -I"$HOME/.local/include"   -L"$HOME/.local/lib"   -lh2o -luv   -lssl -lcrypto   -lm -lpthread

server.c

#include <stdio.h>
@masakielastic
masakielastic / README.md
Last active February 24, 2026 10:16
nghttp2 でブロッキングな HTTP/2 サーバー

nghttp2 でブロッキングな HTTP/2 サーバー

gcc -O2 -Wall -Wextra server.c -o server -lnghttp2 -lssl -lcrypto
openssl req -x509 -newkey rsa:2048 -nodes \