registryActualizado 2026-06-30#reference#registry#sources
Esta nota todavía no está traducida, así que se muestra la fuente en inglés.

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