Implement WebSocket support per RFC 6455.
Scope
- Upgrade handshake from HTTP/1.1 (
Upgrade: websocket) and HTTP/2 (:protocol = websocket, RFC 8441).
- Full-duplex frame I/O: text, binary, ping/pong, close.
- Fragmentation, control-frame rules, masking validation.
- Permessage-deflate extension (RFC 7692) — optional, behind a flag.
- Backpressure on send queue; integration with the existing CoDel read-side pausing.
- Public PHP API surface (
onUpgrade, WebSocket connection object, send/receive coroutines).
- PHPT tests + fuzzing harness for the frame parser.
Acceptance
- Autobahn TestSuite green for required cases.
- Works on both HTTP/1.1 and HTTP/2 transports.
- Memory-leak clean under ASan.
Implement WebSocket support per RFC 6455.
Scope
Upgrade: websocket) and HTTP/2 (:protocol = websocket, RFC 8441).onUpgrade,WebSocketconnection object, send/receive coroutines).Acceptance