Skip to content

Latest commit

 

History

History
41 lines (26 loc) · 839 Bytes

README.md

File metadata and controls

41 lines (26 loc) · 839 Bytes

Sprout

Sprout is an evented IO system written in pure Ruby. Sprout provies a single-threaded Reactor capable of processing many streams/connections concurrently.

Usage

# Simple echo service
reactor = Sprout::Reactor.new

# Get a server instance
server = reactor.listen '0.0.0.0', 4481

server.on(:accept) do |client|
  client.on(:data) do |data|
    client.write data
  end
end

reactor.start

For more examples see the examples/ directory.

Origin

This library was created as part of the video for Working With TCP Sockets.

Prior Art

Sprout borrows a lot of ideas from other evented systems.

License

MIT