Netpoll is a high-performance non-blocking I/O networking framework for Go, developed by ByteDance for RPC scenarios. It provides an event-loop server and dialer with zero-copy Reader/Writer APIs backed by a custom linked buffer (LinkBuffer). Under the hood, it uses epoll on Linux and kqueue on BSD, with an operator cache and a load-balanced poll manager. The architecture is a non-blocking reactor pattern: an event loop accepts connections, assigns them to pollers, and schedules OnRequest/OnConnect/OnDisconnect callbacks asynchronously via a goroutine pool. The library features connection health checking, idle timeout, and a connection reuse probe for client pools. It is production-ready and used by ByteDance's RPC framework Kitex and HTTP framework Hertz.
MsQuic is Microsoft's production-grade, cross-platform implementation of the IETF QUIC transport protocol. Written primarily in C with Rust and C# bindings, it provides a high-performance, low-latency UDP-based transport with built-in TLS 1.3 encryption, multiplexed streams, and advanced congestion control (CUBIC, BBR). The library is designed for both user-mode and kernel-mode operation on Windows, Linux, and macOS, with extensive support for hardware offload (XDP, DPDK) and performance tracing via ETW/LTTng. Architecturally, MsQuic is a library with a minimal public API surface (MsQuicOpenVersion, MsQuicClose) and a rich internal state machine. Core modules include connection management, stream send/receive, packet building/parsing, loss detection, ACK tracking, and path validation. The platform abstraction layer (CxPlat*) provides OS-independent interfaces for sockets, TLS, storage, threading, and memory management. A worker thread pool with event queues handles asynchronous I/O, while partitioned global state enables lock-free concurrency. Key entry points are the public API functions in src/core/api.c, the platform-specific datapath implementations (epoll, io_uring, kqueue, raw sockets, XDP), and the TLS backends (OpenSSL, Schannel, quictls). The library is consumed by tools like secnetperf (performance testing), interop server, load balancer, and attack tool. Extensive unit tests, fuzz testing, and a debugger extension ensure reliability. External dependencies include OpenSSL/quictls for TLS, XDP for Windows kernel offload, and optional DPDK. The build system uses CMake, Cargo, and PowerShell scripts, with Docker support for cross-compilation. The codebase is actively maintained with frequent commits, CI/CD pipelines, and a comprehensive test suite.
MQTT-SN Tools is a suite of four command-line applications for working with the MQTT-SN (MQTT for Sensor Networks) protocol. The system provides mqtt-sn-pub for publishing messages, mqtt-sn-sub for subscribing to topics, mqtt-sn-dump for monitoring packets, and mqtt-sn-serial-bridge for serial-to-UDP bridging. All tools share a common C library (mqtt-sn.c/h) that implements the MQTT-SN protocol handling, including socket management, packet encoding/decoding, keep-alive mechanics, and topic mapping. The architecture is modular with clear separation between the protocol library and application-specific logic. Each tool follows a standard pattern: parse command-line arguments, establish UDP connection to an MQTT-SN broker, perform protocol operations (connect, publish/subscribe, etc.), handle incoming/outgoing packets, and clean up resources. The project has active maintenance with recent commits and a test suite.
This repository is a static website hosted on GitHub Pages that curates resources for multiplayer game networking. It provides a comprehensive list of articles, videos, libraries, and tools related to game netcode, including topics like latency compensation, deterministic simulation, and various networking libraries. The site is built using Jekyll, with the content primarily in the README.md file. The repository also includes a trivial C program that prints a description of the project. While the repository is classified as an application (a static web site), it also functions as a curated data resource. The content is regularly updated, as evidenced by the inclusion of upcoming events (e.g., Bali 2025, Orlando 2025) in the README.md, indicating active maintenance. However, the codebase itself lacks reusable components, consisting mainly of configuration files and trivial code.