9 Repos
Processes network data in real-time via callbacks to avoid buffering large responses.
Distinct from Real-Time Data Streaming: Existing candidates focus on database streams or high-level app streaming; this is about the transport-level callback mechanism.
Explore 9 awesome GitHub repositories matching networking & communication · Callback-Based Data Streaming. Refine with filters or upvote what's useful.
cpr is a C++ networking library that provides a high-level HTTP request client. It functions as a wrapper around libcurl to simplify the process of sending and receiving data from web servers, specifically managing GET and POST calls and multipart form uploads. The library provides both synchronous and asynchronous execution models, allowing network requests to run on background threads to prevent application freezing. It integrates with the C++ Standard Library to map low-level pointers to standard strings and containers, utilizing RAII for automatic resource management. The project covers
Utilizes function pointers to process incoming server data chunks in real time.
gemma.cpp is a C++ inference engine for Gemma, PaliGemma, and Griffin language models, designed to run directly on-device without Python dependencies. It provides a self-contained runtime that loads quantized model weights and performs text generation on CPU or GPU, along with a model checkpoint converter that transforms PyTorch or Keras checkpoints into a compact binary format for fast loading. The engine supports multiple model architectures, including the Griffin recurrent architecture with gated linear recurrent layers and sliding-window attention for efficient long-sequence handling, as
Yields each output token to a user-supplied callback, enabling custom streaming, filtering, or early termination.
Lettuce is a Redis client library for Java that provides synchronous, asynchronous, and reactive programming models for interacting with Redis databases. It supports standalone, cluster, sentinel, pub/sub, and search operations through a single thread-safe connection model that handles command execution without blocking the calling thread. The library distinguishes itself through its reactive streams integration with Project Reactor, enabling non-blocking, backpressure-aware data processing with Mono and Flux types. It offers cluster slot routing that transparently handles MOVED and ASK redir
Streams large Redis collection results through callback interfaces as data arrives.
Nanopb ist eine leichtgewichtige C-Implementierung von Protocol Buffers, die für ressourcenbeschränkte Systeme und Mikrocontroller entwickelt wurde. Sie fungiert sowohl als eingebettete Serialisierungsbibliothek zum Enkodieren und Dekodieren strukturierter Daten als auch als Codegenerator, der Definitionsdateien in kompakte C-Quell- und Header-Dateien umwandelt. Das Projekt zeichnet sich durch seinen Fokus auf statische Speicherallokation aus und verwendet feste Maximalgrößen für Strings und Arrays, um dynamische Speicherallokation und Heap-Fragmentierung zu vermeiden. Es setzt einen Callback-basierten Streaming-Mechanismus ein, um Nachrichten oder Felder zu verarbeiten, die den verfügbaren physischen RAM überschreiten, was die Handhabung von Daten variabler Länge ermöglicht, ohne den Systemspeicher zu erschöpfen. Die Bibliothek bietet breite Funktionen für Binärserialisierung, einschließlich Berechnung der enkodierten Größe, Verfolgung der Präsenz von Sub-Messages und Transport-Level-Framing. Sie enthält zudem Reflexions-Utilities für Feld-Iterationen, UTF-8-String-Validierung und strikte Grenzwerterzwingung, um Speichersicherheit beim Parsen nicht vertrauenswürdiger Binäreingaben zu gewährleisten.
Implements a callback mechanism to process fields of unlimited size without exhausting system memory.
nghttp2 ist eine Suite von Low-Level-C-Bibliotheken und Tools für die Implementierung des HTTP/2-Protokolls. Sie bietet eine speichereffiziente Implementierung der Kernlogik des Protokolls, einschließlich Framing, Stream-Multiplexing und Flusskontrolle. Das Projekt enthält eine dedizierte Bibliothek für HPACK-Header-Kompression und -Dekompression zur Reduzierung der Netzwerkbandbreite. Zudem bietet es ein Toolset zur Analyse des Netzwerkverkehrs und zum Benchmarking der Serverleistung, einschließlich Messungen von Durchsatz und Latenz. Die breiteren Funktionen decken die Protokollimplementierung und das Traffic-Management ab, einschließlich ALPN-Verbindungsaushandlung, Anforderungspriorisierung und Validierung von Header-Komponenten. Die Bibliothek unterstützt benutzerdefinierte Protokollerweiterungen über ein Callback-basiertes Ereignissystem und enthält Dienstprogramme für Speicherverwaltung und Fehlercode-Übersetzung. Das Projekt umfasst Build-Unterstützung und Konfigurationsskripte für das Cross-Compiling von Binärdateien für die Android-Plattform.
nghttp2 triggers a custom callback function when a stream is closed to allow for resource cleanup.
s2n ist eine C-basierte Sicherheitsbibliothek und TLS-Protokollimplementierung, die als sichere Netzwerk-Transportschicht dient. Sie bietet eine modulare kryptografische Backend-Schnittstelle zur Verschlüsselung von Datenströmen, zur Verwaltung von Handshakes und zur Handhabung der gegenseitigen Authentifizierung zwischen Peers. Das Projekt konzentriert sich auf Post-Quanten-Kryptografie und integriert quantenresistente Schlüsselaustauschverfahren und digitale Signaturen, um Verbindungen gegen zukünftige Bedrohungen durch Computer zu schützen. Es zeichnet sich durch Sicherheits-Härtungsmaßnahmen aus, wie z. B. speichergeschützte Geheimhaltungsspeicherung, um zu verhindern, dass Schlüssel auf die Festplatte ausgelagert werden, sowie die Minderung von Timing-Angriffen durch randomisierte Verzögerungen. Die Bibliothek deckt ein breites Spektrum an Verbindungsmanagement und -optimierung ab, einschließlich Session-Resumption, Pre-Shared-Keys und nicht-blockierendem Netzwerk-I/O mittels benutzerdefinierter Callbacks. Sie bietet zudem umfangreiche Zertifikatsverwaltungstools für die Handhabung von Trust-Stores, die Überprüfung von Widerrufen und die Validierung von Transparenz.
Implements a transport-level callback mechanism for sending and receiving network data without internal socket management.
MemoryPack ist eine performante Binär-Serialisierungsbibliothek für C# und Unity. Sie bietet eine Zero-Allocation-Daten-Pipeline und ein Schema-Evolutions-Framework, das darauf ausgelegt ist, Speicherallokationen und Kodierungs-Overhead zu minimieren. Das Projekt nutzt Source-Generatoren zur Kompilierzeit, um Laufzeit-Reflektion zu vermeiden, und implementiert ein Zero-Encoding-Binärformat für maximalen Durchsatz. Es zeichnet sich durch einen Zero-Allocation-Ansatz aus, der Objektinstanzen wiederverwendet, um den Garbage-Collection-Druck zu reduzieren, und das Speicherlayout nicht verwalteter Structs direkt in Binär-Streams kopiert. Die Bibliothek deckt Binär-Schema-Versionierung für Abwärtskompatibilität ab und unterstützt asynchrones Collection-Streaming für große Datensätze. Sie enthält einen TypeScript-Typ-Generator zur Synchronisation von Datenstrukturen zwischen C# und TypeScript für den sprachübergreifenden Datenaustausch. Zusätzliche Funktionen umfassen Payload-Kompression, benutzerdefinierte Formatter-Implementierungen und Serialisierungs-Callbacks.
Provides user-defined callbacks during the serialization process to handle custom headers or inject dependencies.
P4wnP1 ist ein drahtloses USB-Payload-Framework und eine Angriffsplattform auf Basis des Raspberry Pi Zero. Es fungiert als USB-HID-Emulator und Netzwerkadapter, der Tastaturen und andere Peripheriegeräte imitiert, um mit Zielhardware zu interagieren und automatisierte Tastatur-Payloads auszuführen. Das Projekt bietet ein anpassbares System zur Bereitstellung von HID-Angriffen und zur Verwaltung des Fernzugriffs über einen drahtlosen Hotspot. Es ermöglicht die Emulation von Verbundgeräten, wodurch ein einzelner physischer Port gleichzeitig mehrere Funktionen wie Ethernet- und Tastaturschnittstellen präsentieren kann. Das Framework deckt Funktionen für Hardware-Sicherheitsaudits und automatisiertes Penetration Testing ab. Dazu gehört die Fähigkeit, Netzwerkverkehr weiterzuleiten, drahtlose Verbindungen zu verwalten und skriptbasierte Sequenzen basierend auf Systemereignissen oder Tastatur-LED-Zuständen auszulösen. Es etabliert zudem verdeckte Kommunikationskanäle zur Datenübertragung ohne Verwendung standardmäßiger Netzwerkprotokolle.
Triggers automated logic based on system state changes like network link activity and IP address assignment.
ExecuTorch is a lightweight C++ runtime for deploying PyTorch models on mobile, embedded, and edge hardware. It provides an ahead-of-time compilation pipeline that exports, quantizes, and lowers model graphs into compact serialized programs, then executes them through a minimal runtime with hardware acceleration and on-device large language model inference capabilities. The project distinguishes itself through a hardware accelerator delegate system that partitions model subgraphs and offloads computation to specialized backends including NPUs, GPUs, and DSPs from Apple, Arm, Intel, MediaTek,
ExecuTorch receives each generated token via a callback function, enabling real-time output display during inference.