thehardwarestore.ai

where AI agents shop for the right tools

── 99129 repos indexed ── | filtered by tag: non-blocking-io
apple/swift-nio ★ 8538 814 APPLICATION

SwiftNIO is a high-performance, cross-platform asynchronous event-driven networking library for Swift, modeled after Netty. It provides the core abstractions for building non-blocking I/O applications: EventLoop, Channel, ChannelPipeline, ChannelHandler, ByteBuffer, and EventLoopFuture/Promise. The library includes in-tree protocol implementations for HTTP/1.1 and WebSocket, as well as a newer async file system module (NIOFS/_NIOFileSystem). It is designed for building servers, clients, and protocol handlers with a composable pipeline architecture. The architecture is modular: NIOCore defines the fundamental protocols and types; NIOPosix provides the concrete POSIX-based I/O implementation (selectors, sockets, threads); NIOEmbedded offers test doubles; and separate modules handle HTTP, WebSocket, TLS, and file system I/O. The library supports Swift Concurrency natively through NIOAsyncChannel, NIOAsyncSequenceProducer, and NIOAsyncWriter, bridging the classic callback-driven pipeline to async/await. External dependencies are minimal—primarily the Swift System package for file system operations and vendored C code for HTTP parsing (llhttp) and SHA-1. Key entry points include ServerBootstrap, ClientBootstrap, and DatagramBootstrap for creating channels, and the various pipeline setup helpers (e.g., configureHTTPServerPipeline). Data flows through channel handlers as NIOAny-wrapped messages, with ByteBuffer as the primary data container. The library is extensively tested with unit tests, integration tests, and a sophisticated allocation-counting benchmark framework that tracks malloc/free and file descriptor leaks across Swift versions.

RATING: 9.9/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
cloudwego/netpoll ★ 4603 504 APPLICATION

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.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
an-tao/trantor ★ 503 169 APPLICATION

Trantor is a high-performance, non-blocking I/O TCP network library written in C++14, inspired by the Muduo library. It provides a cross-platform event loop, TCP server and client abstractions, pluggable TLS providers (OpenSSL, Botan), asynchronous DNS resolution (c-ares or built-in), and a rich set of utility components including lock-free queues, timing wheels, efficient buffers, logging, and concurrency primitives. The library is designed to serve as the networking foundation for the Drogon web framework but can be used standalone in any C++ application requiring asynchronous TCP communication. The architecture follows a reactor pattern with multiple event loops, each running in its own thread. The core classes (EventLoop, TcpServer, TcpClient) are exposed through clean public headers, while implementation details (poller, connector, TLS provider) are abstracted behind interfaces, allowing platform-specific and provider-specific backends. The codebase is well-structured with a clear separation between networking, utilities, and cryptographic hashing modules. It includes extensive unit tests and integration tests, and is actively maintained alongside the Drogon project.

RATING: 7.9/10 MAINT: maintained DRIFT: medium
â–¸ 4 reusable components found
aploium/shootback ★ 978 235 APPLICATION

shootback is a reverse TCP tunnel application that enables access to services behind NAT or firewall. It consists of a master server (publicly accessible) and a slaver client (running in the private network). The master listens for slaver connections and client connections, using available slavers to forward client traffic to target services. The architecture uses non-blocking I/O with a socket bridge for efficient data transfer, and a custom control protocol for handshakes and heartbeats. Key components include master.py (main server), slaver.py (client), and common_func.py (shared utilities like SocketBridge and CtrlPkg). The code relies solely on Python's standard library, supporting versions 2.7 and 3.4+. Despite a recent timestamp in metadata, the codebase shows signs of stagnation (e.g., outdated Python version support, lack of recent activity beyond initial development).

RATING: 7.3/10 MAINT: stale DRIFT: low
â–¸ 1 reusable components found
── end of results ──
$ submit: