awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
reactor avatar

reactor/reactor

0
View on GitHub↗
3,688 stars·486 forks·Apache-2.0·28 viewsprojectreactor.io↗

Reactor

Reactor is a reactive streams library and framework for building asynchronous data pipelines. It provides a system for coordinating execution contexts via an asynchronous event-loop manager, alongside a set of reactive abstractions for implementing high-performance TCP, UDP, QUIC, and HTTP services.

The project includes a specialized testing tool for verifying the timing and order of asynchronous data flows and a bill of materials to synchronize compatible versions of core reactive libraries and networking add-ons.

Its capability surface covers non-blocking network services, demand-based backpressure handling, and functional pipeline composition. It provides operators for data transformation, error recovery, and stream windowing, as well as utilities for bridging legacy callback APIs and managing asynchronous object pooling.

The library includes specific extensions for the Kotlin language.

Features

  • Reactive Network Services - Implements high-performance TCP, UDP, QUIC, and HTTP servers and clients using reactive stream patterns.
  • Reactive Stream Libraries - Provides a comprehensive framework for building asynchronous data pipelines using composable operators and non-blocking backpressure.
  • Demand-Driven Backpressure - Implements the Reactive Streams specification where subscribers explicitly signal the number of elements they can process.
  • Reactive - Implements non-blocking communication for TCP, UDP, and QUIC protocols using reactive stream patterns.
  • TCP and UDP Socket Interfaces - Provides programming interfaces for managing both reliable TCP stream connections and connectionless UDP datagrams.
  • Stream Combinators - Provides operators for merging, concatenating, and zipping multiple asynchronous streams based on timing or order.
  • Asynchronous Value Representations - Provides asynchronous value representations for handling operations that emit exactly one item or an error.
  • Execution Context Decoupling - Decouples asynchronous task logic from their execution thread-pool through a scheduler registry.
  • Operator-Based Stream Composition - Builds asynchronous data processing chains by wrapping publishers in composable functional operators.
  • Asynchronous Event Loops - Manages non-blocking I/O operations through an event-driven execution model to coordinate concurrency.
  • Monadic Async Types - Represents asynchronous sequences and single values as distinct types that encapsulate completion and error signals.
  • Backpressure Management - Regulates data flow between producers and consumers to prevent resource exhaustion and system overload.
  • Compositional Stream Pipelines - Builds asynchronous data pipelines by composing reusable sources, pipes, and sinks.
  • Scheduler-Based Concurrency Models - Decouples observable logic from execution contexts, controlling timing and parallelism via pluggable schedulers.
  • Deferred Publisher Creation - Implements patterns to postpone the instantiation of a data publisher until a subscription is requested.
  • Reactive Error Recovery Strategies - Implements reactive error recovery strategies including fallbacks and retry policies with exponential backoff.
  • Execution Schedulers - Uses abstractions to decouple the timing and threading of event delivery from the main thread.
  • Compositional Streaming Pipelines - Implements compositional streaming pipelines that fuse producers, sinks, and conduits for asynchronous data processing.
  • Stream Transformation Operators - Ships functional operators to filter, map, flatten, or aggregate items within reactive data streams.
  • Reactive Sequence Filtering - Excludes data based on predicates or duplicates and restricts sequences using sampling and skipping.
  • Reactive Sequence Generation - Generates asynchronous event streams from constants, collections, ranges, or programmatic generators.
  • Reactive Value Emissions - Provides the core mechanism for producing sequences of zero to many elements ending with a success or error signal.
  • Reactive Stream Adaptation - Converts legacy callback APIs and various publisher types into a standardized reactive stream specification.
  • Reactive Endpoints - Creates reactive HTTP and WebSocket endpoints with integrated support for compression, logging, and tracing.
  • Context Propagation - Implements mechanisms for capturing and transferring request-scoped data across asynchronous execution boundaries.
  • Delayed Task Scheduling - Postpones the delivery of a value by a specific duration using a scheduler before completing the sequence.
  • Reactive Stream Buffers - Collects emissions into batches, enabling downstream consumers to control flow without dropping data.
  • Network Service Frameworks - Provides a foundational framework for building high-performance network clients and servers using various transport protocols.
  • WebSocket Connection Management - Establishes and manages live bidirectional WebSocket connections using reactive abstractions for real-time data exchange.
  • Asynchronous Metadata Propagation - Provides mechanisms for propagating telemetry and logging metadata across asynchronous boundaries in reactive pipelines.
  • Reactive API Bridging - Converts legacy callback and listener patterns into standardized reactive stream publishers.
  • Asynchronous Resource Management - Controls the lifecycle of network connections and execution threads to optimize system throughput.
  • Asynchronous-to-Synchronous Conversion - Includes mechanisms to block execution and extract asynchronous values as synchronous objects or iterables.
  • Stream Windowing - Segments continuous asynchronous data streams into smaller sub-sequences based on size, time, or predicates.
  • Multicast Stream Sharing - Shares a single asynchronous data source among multiple subscribers using hot or cold delivery strategies.
  • Event-Loop Resource Pooling - Optimizes network throughput by managing the lifecycle and pooling of non-blocking event loop threads.
  • Reactive Value Combinations - Combines multiple reactive values from different sources using combinator functions to create derived state.
  • Network Connection Lifecycles - Coordinates network connection lifecycles and resource cleanup to increase overall system throughput.
  • Resource Pool Management - Manages reusable collections of network resources and event-loop threads to optimize hardware utilization.
  • Sequence Buffering - Groups stream elements into collections based on size, time duration, or boundary signals.
  • Traversal Side Effects - Executes logging, tracing, or piping operations during sequence traversal without modifying the underlying data.
  • Stream Emission Timing Control - Regulates emission timing through delays, periodic ticks, and timeouts to manage production rates.
  • Reactive Stream Testing - Verifies the behavior, timing, and signal sequences of reactive publishers and subscribers using specialized tools.
  • Reactive Programming - Framework for building non-blocking applications on the JVM.

Star history

Star history chart for reactor/reactorStar history chart for reactor/reactor

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Reactor

These projects share indexed features with Reactor. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • reactor/reactor-corereactor avatar

    reactor/reactor-core

    5,224View on GitHub↗

    Reactor Core is a reactive programming toolkit and non-blocking foundation for composing asynchronous data pipelines on the JVM. It serves as an asynchronous stream processing framework and a backpressure management system, allowing developers to transform, filter, and combine sequences of events while regulating data flow between producers and consumers to prevent resource exhaustion. The library differentiates itself through a sophisticated concurrency scheduling system and demand-based flow control. It decouples signal processing from specific threads using a scheduler registry and provide

    Javaasynchronousflowflux
    View on GitHub↗5,224
  • reactivex/rxpyReactiveX avatar

    ReactiveX/RxPY

    5,014View on GitHub↗

    RxPY is a functional reactive programming library and a ReactiveX observable library for Python. It serves as an asynchronous stream processor and event-driven coordination framework used to build data pipelines that react to changes in state or streams of events over time. The library provides a toolkit for composing asynchronous and event-based programs using observable sequences and operators. It distinguishes itself through the use of configurable schedulers to manage concurrency, timing, and subscription lifecycles. The project covers a wide range of stream processing capabilities, incl

    Python
    View on GitHub↗5,014
  • reactive-extensions/rxjsReactive-Extensions avatar

    Reactive-Extensions/RxJS

    19,353View on GitHub↗

    The Reactive Extensions for JavaScript

    JavaScript
    View on GitHub↗19,353
  • qihoo360/evppQihoo360 avatar

    Qihoo360/evpp

    3,767View on GitHub↗

    evpp is a C++ network library and framework designed for building high-performance network services using TCP, UDP, and HTTP protocols. It provides an asynchronous event loop to manage nonblocking I/O operations and concurrent network connections across multiple threads. The framework includes specialized tools for asynchronous DNS resolution and a system for asynchronous task scheduling using a managed thread pool. It also features a nonblocking HTTP server and client with integrated connection pooling. The project covers low-level transport layer connectivity for TCP and UDP, as well as hi

    C++
    View on GitHub↗3,767
Compare all 30 related projects→

Frequently asked questions

What does reactor/reactor do?

Reactor is a reactive streams library and framework for building asynchronous data pipelines. It provides a system for coordinating execution contexts via an asynchronous event-loop manager, alongside a set of reactive abstractions for implementing high-performance TCP, UDP, QUIC, and HTTP services.

What are the main features of reactor/reactor?

The main features of reactor/reactor are: Reactive Network Services, Reactive Stream Libraries, Demand-Driven Backpressure, Reactive, TCP and UDP Socket Interfaces, Stream Combinators, Asynchronous Value Representations, Execution Context Decoupling.

Which projects share features with reactor/reactor?

Projects with overlapping indexed features include: reactor/reactor-core — Reactor Core is a reactive programming toolkit and non-blocking foundation for composing asynchronous data pipelines… reactivex/rxpy — RxPY is a functional reactive programming library and a ReactiveX observable library for Python. It serves as an… reactive-extensions/rxjs — The Reactive Extensions for JavaScript. qihoo360/evpp — evpp is a C++ network library and framework designed for building high-performance network services using TCP, UDP,… reactive-streams/reactive-streams-jvm — This project provides a formal specification and a set of standard Java interfaces for asynchronous stream processing.… yjhjstz/deep-into-node — This project is a technical study and analysis guide focused on the internal architecture of Node.js. It provides an…