Asio is a C++ library for performing network and low-level I/O operations using a consistent asynchronous model that avoids blocking program execution. It provides a portable, cross-platform interface for network socket communication across different operating systems, and manages multiple asynchronous operations without requiring explicit thread management or locking. The library implements a proactor-based asynchronous model where operations post completion handlers to a queue for later execution, and wraps operating system I/O multiplexing mechanisms like epoll, kqueue, IOCP, and select in
Netpoll is an event-driven network framework and non-blocking I/O library designed to manage concurrent TCP and Unix domain socket connections. It utilizes a non-blocking event loop to monitor file descriptors and trigger callbacks for read and write events, serving as a high-performance socket manager and TCP network poller. The framework optimizes throughput across CPU cores by distributing incoming network connections across multiple pollers. It implements zero-copy networking primitives, using linked buffers and specialized memory management to read and write data while minimizing memory
TCP-IP-NetworkNote is a comprehensive technical reference and guide for implementing network communication using TCP and UDP sockets in C and C++. It provides a detailed manual for using the POSIX socket API and covers the implementation of network protocols, synchronous and asynchronous I/O patterns, and concurrent programming models. The project is distinguished by its focus on cross-platform networking, offering a detailed comparison of socket implementation details and adaptation utilities between Linux and Windows Winsock environments. It specifically addresses the differences in header
Smol is a lightweight Rust asynchronous runtime and task executor. It provides a suite of foundational tools for scheduling and executing asynchronous futures, managing background workloads, and handling non-blocking network and file operations. The project includes a compatibility layer for adapting asynchronous types and execution contexts, enabling futures to run across different runtime ecosystems. It also features a mechanism to offload synchronous I/O and CPU-intensive operations to dedicated worker thread pools to prevent runtime stalls. Its capabilities cover non-blocking network I/O
Mio is a low-level I/O library for Rust that provides an event-driven framework for monitoring multiple network sockets and file descriptors. It acts as a portable wrapper for operating system native polling systems, including epoll, kqueue, and IOCP, allowing applications to trigger events when resources are ready for reading or writing without blocking the execution thread.
The main features of tokio-rs/mio are: Event-Driven I/O, OS Event Polling, Vectored I/O, Socket Networking, Non-Blocking Socket I/O, Asynchronous I/O Libraries, Cross-Platform Asynchronous I/O Abstractions, I/O Polling.
Open-source alternatives to tokio-rs/mio include: chriskohlhoff/asio — Asio is a C++ library for performing network and low-level I/O operations using a consistent asynchronous model that… cloudwego/netpoll — Netpoll is an event-driven network framework and non-blocking I/O library designed to manage concurrent TCP and Unix… riba2534/tcp-ip-networknote — TCP-IP-NetworkNote is a comprehensive technical reference and guide for implementing network communication using TCP… smol-rs/smol — Smol is a lightweight Rust asynchronous runtime and task executor. It provides a suite of foundational tools for… python-trio/trio — Trio is an asynchronous I/O runtime and concurrency library for Python. It provides a system for executing… ithewei/libhv — libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP,…