ReviewOS

home-lang/home

feat(http): multi-core Home HTTP server

#808
Open chris opened this 9 days ago ·
9 days ago

Problem

packages/http/src/server.zig accepts and handles one connection at a time on a single thread, reads one 8 KB buffer, and listen() binds only to 127.0.0.1. One slow client blocks every other request.

Evidence (origin/main @ d4b219507)

Scope

  • One accept loop per core with SO_REUSEPORT, or an acceptor feeding the async executor.
  • Non-blocking connection handling; configurable bind address; streaming request bodies.

Acceptance criteria

  • A slow client does not block other clients (test).
  • Requests/s scales with cores (≥3× at 4 cores), benchmark checked into bench/.

Depends on: #804 Related: #799 Part of #814.

Sign in to comment on this issue.