awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
chriskohlhoff avatar

chriskohlhoff/asio

0
View on GitHub↗
5,896 Stars·1,364 Forks·C++·4 Aufrufethink-async.com/Asio↗

Asio

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 into a uniform interface. It supports multiple completion token types including callbacks, futures, and coroutines through a uniform handler interface, and serialises completion handler execution through strand objects to eliminate explicit locking in concurrent code. Asio also provides mutable and constant buffer sequences for efficient scatter-gather read and write operations, and integrates deadline and steady timers with the I/O event loop for time-based asynchronous operations.

The library enables building asynchronous I/O operations, handling network communication, and managing concurrent tasks. It includes error handling capabilities for returning clear messages when requested resources are unavailable.

Features

  • Asynchronous I/O Libraries - Provides a non-blocking interface for system I/O operations via event loops.
  • Completion Token Abstractions - Supports multiple completion token types including callbacks, futures, and coroutines through a uniform handler interface.
  • Proactor - Implements a proactor-based completion model where operations post handlers to a queue for later execution.
  • Cross-Platform Networking - Provides a portable, cross-platform interface for network socket communication across different operating systems.
  • Socket Networking - Sends and receives data across network sockets using a portable interface that works on different operating systems.
  • Non-Blocking Socket I/O - Enables non-blocking reading and writing of network sockets to handle many concurrent connections.
  • Completion Token Handlers - Provides a uniform handler interface supporting callbacks, futures, and coroutines for async C++ programming.
  • Non-Blocking I/O Interfaces - Provides interfaces that allow the system to initiate I/O operations and continue execution without waiting for completion.
  • Handle Abstractions - Handles file descriptors, sockets, and timers through a consistent non-blocking model.
  • Cross-Platform Asynchronous I/O Abstractions - Provides a unified interface for performing non-blocking network and file operations across different operating systems.
  • Proactor-Based Concurrency - Manages multiple network and file operations concurrently without explicit thread synchronization or locking.
  • I/O Event Loop Timers - Integrates deadline and steady timers with the I/O event loop for time-based asynchronous operations.
  • Async I/O Runtimes - Provides event loops and task schedulers for executing non-blocking I/O operations.
  • Concurrency Management Libraries - Manages multiple asynchronous operations without requiring explicit thread management or locking.
  • Strand-Based Serializers - Serialises completion handler execution through strand objects to eliminate explicit locking in concurrent code.
  • Asynchronous Concurrency Managers - Manages multiple asynchronous operations without requiring explicit thread management or locking.
  • Strand-Based Serializers - Ships strand objects that serialize handler execution, enabling lock-free concurrency for async I/O.
  • Non-blocking I/O - Uses non-blocking input and output to handle multiple operations across processor cores.
  • Platform Event Loop Adapters - Wraps platform-native event loops (epoll, kqueue, IOCP, select) behind a uniform API for cross-platform portability.
  • Event Loop Schedulers - Runs multiple I/O operations in parallel by scheduling them on an event loop that resumes tasks on completion.
  • Buffer Sequences - Provides mutable and constant buffer sequences for efficient scatter-gather read and write operations.
  • I/O Event Loop Timers - Implements deadline and steady timers that integrate with the I/O event loop for time-based asynchronous operations.
  • Asynchronous Task Composition - Chains multiple async tasks together using a consistent pattern to simplify complex input/output workflows.
  • Multiplexing Abstractions - Selects the most efficient system-level event notification mechanism available on the host operating system.
  • Vectored I/O - Provides mutable and constant buffer sequences for efficient scatter-gather read and write operations.
  • Asynchronous Event Loop - Cross-platform library for network and low-level I/O.
  • Network Libraries - Cross-platform C++ library for network and low-level I/O.
  • Serial Port Communication - Portable classes for serial port communication and I/O.
  • Web and Networking - Asynchronous network and low-level I/O library.

Star-Verlauf

Star-Verlauf für chriskohlhoff/asioStar-Verlauf für chriskohlhoff/asio

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht chriskohlhoff/asio?

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.

Was sind die Hauptfunktionen von chriskohlhoff/asio?

Die Hauptfunktionen von chriskohlhoff/asio sind: Asynchronous I/O Libraries, Completion Token Abstractions, Proactor, Cross-Platform Networking, Socket Networking, Non-Blocking Socket I/O, Completion Token Handlers, Non-Blocking I/O Interfaces.

Welche Open-Source-Alternativen gibt es zu chriskohlhoff/asio?

Open-Source-Alternativen zu chriskohlhoff/asio sind unter anderem: tokio-rs/mio — Mio is a low-level I/O library for Rust that provides an event-driven framework for monitoring multiple network… smol-rs/smol — Smol is a lightweight Rust asynchronous runtime and task executor. It provides a suite of foundational tools for… riba2534/tcp-ip-networknote — TCP-IP-NetworkNote is a comprehensive technical reference and guide for implementing network communication using TCP… libuv/libuv — libuv is a cross-platform asynchronous I/O library that provides an abstraction layer for event-driven networking,… boostorg/beast — Beast is a C++ library for implementing low-level HTTP and WebSocket clients and servers. It functions as an… yjhjstz/deep-into-node — This project is a technical study and analysis guide focused on the internal architecture of Node.js. It provides an…

Open-Source-Alternativen zu Asio

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Asio.
  • tokio-rs/mioAvatar von tokio-rs

    tokio-rs/mio

    7,024Auf GitHub ansehen↗

    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 library provides a non-blocking socket interface for managing TCP, UDP, and Unix sockets. It distinguishes itself through a vectored I/O implementation, enabling scatter-gather reads and writes across multiple buffer

    Rustasynchronousnetworkingnon-blocking
    Auf GitHub ansehen↗7,024
  • smol-rs/smolAvatar von smol-rs

    smol-rs/smol

    4,979Auf GitHub ansehen↗

    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

    Rustasyncconcurrencyfutures
    Auf GitHub ansehen↗4,979
  • riba2534/tcp-ip-networknoteAvatar von riba2534

    riba2534/TCP-IP-NetworkNote

    2,505Auf GitHub ansehen↗

    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

    C
    Auf GitHub ansehen↗2,505
  • libuv/libuvAvatar von libuv

    libuv/libuv

    26,912Auf GitHub ansehen↗

    libuv is a cross-platform asynchronous I/O library that provides an abstraction layer for event-driven networking, filesystem operations, and system signals. It utilizes a non-blocking event loop to coordinate asynchronous tasks and I/O events across different operating systems. The project features a unified interface for managing TCP, UDP, and DNS resolution, alongside an inter-process communication layer for sharing sockets via named pipes and Unix domain sockets. To prevent blocking the main execution loop, it includes a multi-platform thread pool for offloading computationally expensive

    Casynchronousdeep-ioio
    Auf GitHub ansehen↗26,912
Alle 30 Alternativen zu Asio anzeigen→