Understanding TCP Window Scaling
March 10, 2026 · 5 min read
TCP window scaling is an extension defined in RFC 7323 that allows the receive window to be larger than the 65,535-byte limit of the original TCP specification. This is crucial for high-bandwidth, high-latency networks.
The window scale option is negotiated during the three-way handshake. Each side includes a Window Scale option in its SYN segment, indicating the shift count it will use. The maximum shift count is 14, giving a maximum window of about 1 GB.
Notes on Async I/O Patterns
March 5, 2026 · 3 min read
Modern server software heavily relies on async I/O to handle thousands of concurrent connections efficiently. The main patterns are: reactor (epoll/kqueue), proactor (io_uring, IOCP), and coroutine-based (Go goroutines, Kotlin coroutines).
Each has tradeoffs in complexity, performance, and debuggability. For most applications, the coroutine-based approach provides the best balance between developer productivity and runtime efficiency.
A Quick Look at QUIC
February 28, 2026 · 4 min read
QUIC is a transport protocol that runs over UDP and provides TLS 1.3 encryption by default. It was designed to reduce connection setup latency and improve performance in lossy networks.
Unlike TCP, QUIC supports multiple streams within a single connection, eliminating head-of-line blocking. It also supports connection migration, allowing a connection to survive network changes.