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

eventmachine/eventmachine

0
View on GitHub↗
4,283 stars·633 forks·Ruby·19 views

Eventmachine

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 development of event-driven servers, asynchronous network clients, and network proxy implementations. It also provides capabilities for monitoring files and networks to trigger actions when specific events occur.

Features

  • Ruby Implementations - Provides a reactor-pattern network framework for Ruby to handle high-concurrency connections using a non-blocking event loop.
  • Reactor Pattern Event Loops - Implements a single-threaded event loop that waits for network events and dispatches them to registered callbacks.
  • Asynchronous Network Clients - Provides libraries and interfaces for performing non-blocking, multi-handle network data transfers as a client.
  • IO Multiplexing - Uses system calls like select or epoll to monitor multiple network sockets on a single thread.

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
  • Event-Driven Networking - Handles network requests and system events asynchronously using a high-performance runtime model for concurrency.
  • Reactor Pattern Network Servers - Provides a framework for building scalable network servers using the reactor pattern and non-blocking I/O.
  • Reactor Patterns - Implements an event-driven loop that dispatches incoming network events to registered handlers using a single-threaded reactor.
  • Event-Driven Server Frameworks - Provides a framework for building applications that handle concurrent connections and event-driven communication.
  • TCP Server Frameworks - Provides the core infrastructure for building high-performance TCP and UDP servers.
  • Asynchronous I/O Libraries - Provides a non-blocking interface for system I/O operations via a reactor event loop.
  • Single-Threaded Execution Models - Handles thousands of simultaneous connections on one thread to eliminate locking and context switching overhead.
  • Event-Driven I/O - Manages network connections and data transfer using an asynchronous I/O framework with event notification loops.
  • Asynchronous Network Callbacks - Triggers Ruby blocks of code immediately in response to network I/O events to maintain non-blocking flows.
  • Ruby Bindings - Binds high-performance network logic written in C to Ruby for faster event processing.
  • Traffic Routing Proxies - Routes network traffic through intermediary servers to manage connection paths with custom logic.
  • Network Proxies - Acts as an intermediary between clients and servers to manage traffic and connection routing.
  • Proxy Server Implementations - Implements proxy server protocols and logic to route traffic between clients and servers.
  • Concurrency and Parallelism - Library for event-driven I/O and lightweight concurrency.
  • Ruby Frameworks and Tools - Event-driven library for Ruby.
  • Star history

    Star history chart for eventmachine/eventmachineStar history chart for eventmachine/eventmachine

    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.

    Frequently asked questions

    What does eventmachine/eventmachine do?

    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.

    What are the main features of eventmachine/eventmachine?

    The main features of eventmachine/eventmachine are: Ruby Implementations, Reactor Pattern Event Loops, Asynchronous Network Clients, IO Multiplexing, Event-Driven Networking, Reactor Pattern Network Servers, Reactor Patterns, Event-Driven Server Frameworks.

    What are some open-source alternatives to eventmachine/eventmachine?

    Open-source alternatives to eventmachine/eventmachine include: yedf2/handy — Handy is a C++11 network server framework and event-driven networking engine designed for building high-performance… yuesong-feng/30daymakecppserver — This project is a C++ TCP server framework and educational socket programming guide. It provides a high-performance… chenshuo/muduo — Muduo is a C++11 event-driven network library and framework designed for building high-concurrency Linux servers. It… twisted/twisted — Twisted is an event-driven networking engine for Python that provides a framework for building asynchronous network… swoole/swoole-src — Swoole is a coroutine-based concurrency library and IO framework for PHP. It provides a system for building… balloonwj/cppguide — CppGuide is a curated collection of educational resources and practical guides focused on C++ server development,…

    Open-source alternatives to Eventmachine

    Similar open-source projects, ranked by how many features they share with Eventmachine.
    • yedf2/handyyedf2 avatar

      yedf2/handy

      4,653View on GitHub↗

      Handy is a C++11 network server framework and event-driven networking engine designed for building high-performance concurrent TCP and UDP servers. It functions as an asynchronous I/O library and an HTTP server implementation that separates asynchronous network I/O from synchronous business logic to simplify server development. The framework distinguishes itself by utilizing platform-specific event notifications to manage millions of simultaneous network connections and providing an SSL/TLS network wrapper for encrypted asynchronous data transmission. It implements a half-sync/half-async proc

      C++cc-plus-plusconcurrent-programming
      View on GitHub↗4,653
    • yuesong-feng/30daymakecppserveryuesong-feng avatar

      yuesong-feng/30dayMakeCppServer

      7,040View on GitHub↗

      This project is a C++ TCP server framework and educational socket programming guide. It provides a high-performance network library focused on event-driven architecture, implementing a reactor pattern to handle thousands of simultaneous client connections. The framework is distinguished by its multi-threaded event loop, which utilizes a main-sub reactor coordination model to distribute network events across a worker thread pool. It includes an abstraction layer for non-blocking socket I/O and event multiplexing via the epoll system call, decoupling network transport from application business

      C++cppcppserverepoll
      View on GitHub↗7,040
    • chenshuo/muduochenshuo avatar

      chenshuo/muduo

      16,157View on GitHub↗

      Muduo is a C++11 event-driven network library and framework designed for building high-concurrency Linux servers. It provides a toolkit for implementing scalable network services and socket communication using non-blocking I/O and asynchronous event processing. The framework implements a multi-threaded TCP server architecture that distributes connection handling across multiple CPU threads to maximize server throughput. This is achieved through a one-loop-per-thread model and a reactor pattern implementation, which dispatch network events from a central demultiplexer to registered handler fun

      C++
      View on GitHub↗16,157
    • 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
    See all 30 alternatives to Eventmachine→