ServerX::PooledServer
nginx-style transport: one buffer per connection, offset-based HTTP/1.1
parser, zero heap allocations per request on the fast path (handler == nil,
the benchmark payload). With a handler attached (see AppServer) the same
transport drives a stock HTTP::Handler — framing (keep-alive,
Content-Length, chunked bodies, pipelining) is decided here, below the
handler API.
Hardening: read/write timeouts, per-worker connection limit (503), header limit 431, malformed request line / Content-Length 400, unsupported Transfer-Encoding 501, request body cap 413, Expect: 100-continue, graceful shutdown on SIGTERM/SIGINT (stop accepting, drain in-flight).
Constants
Constructors
Instance methods
Request line is METHOD SP PATH SP HTTP/1.x CRLF.
One walk over the header block collecting everything the transport
needs. head is the offset of the terminating "\r\n\r\n".