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
reactphp avatar

reactphp/event-loop

0
View on GitHub↗
1,329 stars·131 forks·PHP·MIT·12 viewsreactphp.org/event-loop↗

Event Loop

An asynchronous I/O and reactor event loop library for PHP, this project provides core primitives for coordinating non-blocking operations, managing system resources, and scheduling background tasks. The runtime executes concurrent operations by continuously running tick-based loop iterations that process pending timers, network streams, deferred callbacks, and system signals through efficient system-level polling mechanisms.

The library coordinates event-driven execution using asynchronous timers for one-off or periodic tasks, next-tick deferred execution for breaking down workloads, and stream readiness multiplexing to trigger non-blocking read and write callbacks. Additional capabilities include asynchronous domain name resolution, concurrent child process execution, and operating system signal handling for responding to external process events without halting the main execution flow.

Features

  • I/O Readiness Multiplexing - Watches low-level stream resources for readiness to read or write, triggering callbacks to manage smooth data transfer.
  • Event Loop Tick Scheduling - Coordinates asynchronous tasks through continuous tick-based loop iterations processing timers and streams.
  • Asynchronous Incremental Transfers - Reads and writes data streams incrementally and asynchronously without blocking the main execution flow.
  • Periodic Timer Callbacks - Executes registered callbacks repeatedly at fixed time intervals until explicitly cancelled.
  • Delayed Task Scheduling - Schedules background tasks to run after specified delays or intervals without blocking the main thread.
  • System Resource Polling - Monitors underlying system resources and stream availability by delegating to efficient system-level polling mechanisms.
  • Stream Multiplexing - Multiplexes concurrent input and output channels to trigger non-blocking read and write callbacks.
  • Asynchronous I/O Libraries - Provides a non-blocking system I/O library that monitors streams, resolves DNS, and manages child processes.
  • Asynchronous PHP Development - Provides an asynchronous PHP programming environment for building non-blocking concurrent applications.
  • Event Loop Scheduling - Drives the asynchronous event loop runtime by blocking execution until all active tasks and streams finish.
  • Readable Stream Polling - Polls readable stream resources continuously and triggers a callback when new data arrives to enable non-blocking reading.
  • Timer Queue Management - Manages time-ordered priority queues of asynchronous timers to trigger callbacks after specified intervals.
  • Reactor Pattern Event Loops - Implements a reactor pattern event loop that polls system resources and schedules asynchronous callbacks.
  • Writable Stream Polling - Polls writable stream resources continuously and triggers a callback when they are ready to accept written data.
  • Asynchronous Event Loops - Executes non-blocking operations and coordinates concurrent tasks using a centralized event loop mechanism.
  • Asynchronous Network Programming - Manages non-blocking network streams and sockets through reactive callbacks and system I/O polling.
  • I/O Event Loop Timers - Enqueues callbacks to execute once after a specified time interval using asynchronous timers.
  • Asynchronous Lookups - Executes non-blocking domain name lookups to retrieve network addresses without stalling concurrent operations.
  • Asynchronous Lookups - Executes non-blocking domain name lookups to retrieve network addresses without stalling concurrent operations.
  • Asynchronous Signal Listeners - Registers listeners to catch process signals such as user interrupts or system shutdown requests.
  • Process Signal Dispatchers - Catches external operating system signals and routes them to registered event listeners without halting execution.
  • Event Loop Backends - Enables switching between different underlying system backends at runtime for optimal concurrency performance.
  • Asynchronous Spawning - Spawns and interacts with external processes asynchronously to run system commands alongside other tasks.

Star history

Star history chart for reactphp/event-loopStar history chart for reactphp/event-loop

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. 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

Frequently asked questions

What does reactphp/event-loop do?

An asynchronous I/O and reactor event loop library for PHP, this project provides core primitives for coordinating non-blocking operations, managing system resources, and scheduling background tasks. The runtime executes concurrent operations by continuously running tick-based loop iterations that process pending timers, network streams, deferred callbacks, and system signals through efficient system-level polling mechanisms.

What are the main features of reactphp/event-loop?

The main features of reactphp/event-loop are: I/O Readiness Multiplexing, Event Loop Tick Scheduling, Asynchronous Incremental Transfers, Periodic Timer Callbacks, Delayed Task Scheduling, System Resource Polling, Stream Multiplexing, Asynchronous I/O Libraries.

What are some open-source alternatives to reactphp/event-loop?

Open-source alternatives to reactphp/event-loop include: twisted/twisted — Twisted is an event-driven networking engine for Python that provides a framework for building asynchronous network… python-trio/trio — Trio is an asynchronous I/O runtime and concurrency library for Python. It provides a system for executing… eventmachine/eventmachine — EventMachine is a reactor-pattern network framework for Ruby that provides an asynchronous I/O library for performing… reactphp/reactphp — ReactPHP is an asynchronous runtime and event-driven I/O framework for PHP. It provides an environment for executing… chriskohlhoff/asio — Asio is a C++ library for performing network and low-level I/O operations using a consistent asynchronous model that… yedf2/handy — Handy is a C++11 network server framework and event-driven networking engine designed for building high-performance…

Open-source alternatives to Event Loop

Similar open-source projects, ranked by how many features they share with Event Loop.
  • twisted/twistedtwisted avatar

    twisted/twisted

    5,969View on GitHub↗

    Twisted is an event-driven networking engine for Python that provides a framework for building asynchronous network applications. At its core, it uses a reactor-based event loop to drive all input and output, dispatching callbacks in a single thread without blocking. The library implements a deferred promise chain for composing asynchronous logic, along with a protocol and factory pattern that separates connection state management from protocol handling, enabling reusable handlers for different network protocols. The framework supports multiple event loops across platforms, including select,

    Pythonasyncasync-pythondns
    View on GitHub↗5,969
  • chriskohlhoff/asiochriskohlhoff avatar

    chriskohlhoff/asio

    5,896View on GitHub↗

    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

    C++
    View on GitHub↗5,896
  • eventmachine/eventmachineeventmachine avatar

    eventmachine/eventmachine

    4,283View on GitHub↗

    EventMachine is a reactor-pattern network framework for Ruby that provides an asynchronous I/O library for performing non-blocking network and file operations. It functions as a network server framework used to build scalable TCP and UDP servers and clients that process multiple simultaneous requests. The framework implements a concurrency model that dispatches network events to registered handlers using a single-threaded event loop. This approach allows for the management of high-concurrency network connections without the overhead of multi-threaded programming. The library covers the devel

    Ruby
    View on GitHub↗4,283
  • python-trio/triopython-trio avatar

    python-trio/trio

    7,280View on GitHub↗

    Trio is an asynchronous I/O runtime and concurrency library for Python. It provides a system for executing non-blocking network and disk operations through a centralized event loop and task scheduler. The library is built on a structured concurrency model, which ensures that asynchronous tasks are bound to a specific lifetime and cannot outlive the scope that started them. It utilizes a nursery-based task manager to track task lifecycles in a parent-child tree, preventing orphaned concurrent operations by requiring child tasks to be joined before their parent scope exits. The framework cover

    Pythonasyncasync-awaitio
    View on GitHub↗7,280
See all 30 alternatives to Event Loop→

Curated searches featuring Event Loop

Hand-picked collections where Event Loop appears.
  • Async runtime framework