registryUpdated 2026-06-30#reference#registry#sources

Reference Registry

External references normalized in one place instead of repeated across every branch index.

Specifications (canonical)

  • RFC 6455 — The WebSocket Protocol. The primary, mandatory source for the whole websocket-protocol-from-scratch branch — read it directly, don't just read summaries of it.
  • RFC 1122 — Requirements for Internet Hosts. Framing and transport fundamentals underneath the custom binary protocol.
  • man tcp, man setsockopt — read past the tutorials for TCP_NODELAY, SO_RCVBUF/SO_SNDBUF, and socket options in general.
  • man epoll, man kqueue — the two event-loop APIs this atlas uses, Linux and macOS respectively.

Books (canonical)

  • Beej's Guide to Network Programming — Brian "Beej" Hall. Free, the backbone of the sockets material in tcp-fundamentals.
  • TCP/IP Illustrated, Volume 1 — W. Richard Stevens. Deep reference for what's actually on the wire during the handshake, teardown, and flow control.
  • Designing Data-Intensive Applications — Martin Kleppmann. Messaging and streaming chapters for presence-rooms-and-fanout.
  • Test-Driven Development for Embedded C — James Grenning. TDD discipline for systems code, carried over from Atlas I and II.

Papers & classic writeups

  • Dan Kegel, "The C10K Problem" — the argument for event loops over thread-per-connection, and the starting point for its C10M evolution; central to connection-concurrency-at-scale.
  • Jeff Preshing (preshing.com) — memory ordering and lock-free patterns, carried over from Atlas I/II, applied here to the connection registry.
  • Discord engineering blog, Slack engineering blog — real, documented chat-at-scale architecture, referenced (not implemented) in presence-rooms-and-fanout.

Tools & reference implementations

  • MDN, "Writing WebSocket Servers" — complementary implementation guide alongside RFC 6455.
  • swss (C, RFC 6455, no dependencies) — a reference implementation for design comparison only; never copy its code.
  • Wireshark / tcpdump — used throughout network-craftsmanship to see TCP and WebSocket frames on the wire.
  • ws (Node) documentation — referenced only for expected behavior in client-in-typescript, not used as a dependency; the client is hand-written over the protocol.
  • libFuzzer / AFL++ — frame and parser fuzzing, carried over from Atlas I/II, applied here to malformed WebSocket frames.
  • Redis Pub/Sub documentation — mentioned in presence-rooms-and-fanout as the real-world backplane solution for the optional v5 milestone; not implemented in depth here.

See also: Full Index