3.7 KiB
Historique 0.3.5-alpha.10.fix.1
Statut
0.3.5-alpha.10.fix.1 a été validée par l'utilisateur le 2026-09-22. La caractérisation locale WebSocket/WebTransport est fermée avec une gate complète verte et la conclusion technique provisoire reste de conserver WebTransport comme second backend.
Gates
Les commandes utilisateur ont terminé proprement :
cargo fmt --all
cargo fmt --all -- --check
python3 scripts/audit_rust_workspace_rules.py
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates Android Web deltas history
python3 scripts/audit_distribution_layout.py
cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test -p game-realtime-transport-lib --all-targets --all-features
cargo test -p game-realtime-websocket-lib --all-targets --all-features
cargo test -p game-realtime-webtransport-lib --all-targets --all-features
cargo run --release -p game-realtime-transport-measure
La sortie confirme :
General Rust rule audit: clean
Rust export completeness audit: 0 candidate(s)
games.sasedev workspace audit: clean
Markdown table audit: clean (5 table(s), 310 file(s))
Distribution layout audit: clean (66 required path(s), 8 forbidden path(s) absent)
cargo check --workspace: clean
cargo clippy --workspace --all-targets --all-features -- -D warnings: clean
game-realtime-transport-lib: 7 passed; 0 failed
game-realtime-websocket-lib: 11 passed; 0 failed
game-realtime-webtransport-lib: 22 passed; 0 failed
game-realtime-transport-measure: PASS
Mesures loopback validées
Exécution release observée :
MEASURE transport=websocket metric=establishment samples=8 payload_bytes=0 min_us=25 median_us=29 p95_us=155 max_us=155
MEASURE transport=webtransport metric=establishment samples=8 payload_bytes=0 min_us=696 median_us=754 p95_us=1175 max_us=1175
MEASURE transport=websocket metric=rtt samples=128 payload_bytes=32 min_us=18 median_us=18 p95_us=18 max_us=24
MEASURE transport=webtransport metric=rtt samples=128 payload_bytes=32 min_us=11 median_us=12 p95_us=12 max_us=16
MEASURE transport=websocket metric=throughput messages=128 payload_bytes=65536 total_bytes=8388608 elapsed_us=2728 mib_per_s=2931.704 messages_per_s=46907.272
MEASURE transport=webtransport metric=throughput messages=128 payload_bytes=65536 total_bytes=8388608 elapsed_us=12331 mib_per_s=648.746 messages_per_s=10379.940
MEASURE transport=websocket metric=in_flight_window messages=64 payload_bytes=1024 total_bytes=65536 elapsed_us=44356 mib_per_s=1.409 messages_per_s=1442.849
MEASURE transport=webtransport metric=in_flight_window messages=64 payload_bytes=1024 total_bytes=65536 elapsed_us=338 mib_per_s=184.496 messages_per_s=188923.755
MEASURE transport=webtransport-datagram metric=bounded_burst attempted=64 received=64 receive_ratio=1.000000 payload_bytes=256 client_max=1381 server_max=1381 elapsed_us=80
CONCLUSION webtransport=retain scope=second-backend reason=reliable-browser-fallback-datagram-capabilities
Ces chiffres caractérisent uniquement le loopback de cette exécution. Ils ne constituent ni un classement global des protocoles ni une prédiction des performances Internet/mobile. Les profils favorisent des chemins différents selon la métrique, ce qui renforce la décision de conserver les deux backends plutôt que d'inférer un vainqueur unique.
Conséquence
Toutes les tranches alpha prévues de 0.3.5 sont fermées. 0.3.5-beta.1 peut exécuter la validation large : full workspace, smokes retenus, navigateur/WASM, fallback, graphe de dépendances et contrôle Android ciblé si l'environnement le permet.