Skip to content
  • sunpoet's avatar
    - Add rubygem-celluloid-io 0.15.0 · bfd69881
    sunpoet authored
    Celluloid::IO provides an event-driven IO system for building fast, scalable
    network applications that integrates directly with the Celluloid actor library,
    making it easy to combine both threaded and evented concepts. Celluloid::IO is
    ideal for servers which handle large numbers of mostly-idle connections, such as
    Websocket servers or chat/messaging systems.
    
    Celluloid::IO provides a different class of actor: one that's slightly slower
    and heavier than standard Celluloid actors, but one which contains a
    high-performance reactor just like EventMachine or Cool.io. This means
    Celluloid::IO actors have the power of both Celluloid actors and evented I/O
    loops. Unlike certain other evented I/O systems which limit you to a single
    event loop per process, Celluloid::IO lets you make as many actors as you want,
    system resources permitting.
    
    Rather than callbacks, Celluloid::IO exposes a synchronous API built on duck
    types of Ruby's own IO classes, such as TCPServer and TCPSocket. These classes
    work identically to their core Ruby counterparts, but in the scope of
    Celluloid::IO actors provide "evented" performance. Since they're drop-in
    replacements for the standard classes, there's no need to rewrite every library
    just to take advantage of Celluloid::IO's event loop and you can freely switch
    between evented and blocking IO even over the lifetime of a single connection.
    
    WWW: https://github.com/celluloid/celluloid-io
    RG:  https://rubygems.org/gems/celluloid-io
    bfd69881