Skip to content

M5I01: HTTP Keep-Alive #40

@s2x

Description

@s2x

What it builds

Persistent connections: multiple HTTP requests reuse one TCP connection.

Worker inspects response Connection header after handle():

  • Connection: keep-alive → return to read() waiting for next request
  • Connection: close → close immediately (current behavior)

New config:

  • ListenerBuilder::keepAlive(bool) — default true for HTTP/1.1
  • ListenerBuilder::keepAliveTimeout(int) — idle seconds before close (default 60)
  • WorkerConfig::keepAliveMaxRequests — max requests per connection (default 100)

References

  • Follow-up MVP+1 Create process objects #1
  • Watpliwosci: #21a (read timeout), #21c (keep-alive paradox)
  • Milestone doc: docs/superpowers/milestone-5/01-http-keepalive.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions