2 dépôts
Mechanisms for automatically expanding memory buffers based on system call requirements.
Distinct from Stream Buffer Allocators: None of the candidates cover general system-call buffer retries; they focus on GPUs or stream protocols.
Explore 2 awesome GitHub repositories matching operating systems & systems programming · Dynamic Buffer Resizing. Refine with filters or upvote what's useful.
Beast est une bibliothèque C++ pour l'implémentation de clients et serveurs HTTP et WebSocket de bas niveau. Il fonctionne comme un framework réseau asynchrone conçu pour composer des opérations d'E/S non bloquantes et des piles de flux en couches pour gérer le trafic réseau concurrent, utilisant spécifiquement le modèle asynchrone Boost.Asio. La bibliothèque fournit une implémentation complète des protocoles HTTP/1.1 et WebSocket. Pour HTTP, elle inclut des primitives pour l'analyse et la sérialisation des messages avec prise en charge du transfert encodé par blocs (chunked transfer encoding), la lecture incrémentale du corps et le pipelining des requêtes. Son implémentation WebSocket couvre le cycle de vie complet de la communication bidirectionnelle, y compris les handshakes, la négociation de sous-protocoles, la fragmentation des messages et la surveillance de la vivacité via des trames de contrôle. Beast inclut une suite spécialisée d'outils pour la gestion des tampons réseau afin d'optimiser les E/S scatter-gather via des tampons mémoire dynamiques et basés sur des séquences. Elle couvre également la communication réseau sécurisée en intégrant des couches SSL/TLS pour les flux chiffrés, l'authentification par certificat et la terminaison sécurisée des connexions. Le framework fournit des abstractions multiplateformes pour les E/S de fichiers et la gestion des signaux système afin de soutenir le développement d'applications réseau stables.
Creates resizable buffer implementations that support owning ranges and contiguous memory.
wil is a C++ wrapper library for the Windows API designed to simplify system development through RAII and exception handling. It provides a set of resource management tools, a framework for Windows error handling, and type-safe interfaces for registry access and networking. The library distinguishes itself by automating the conversion between system error codes and C++ exceptions, while providing utilities for contextual error message attachment and early return patterns. It also features specialized networking wrappers for socket initialization and hostname resolution, and a registry interfa
Implements automatic buffer expansion logic when system calls indicate the provided memory size was insufficient.