README.md in reel-0.1.0 vs README.md in reel-0.2.0.pre

- old
+ new

@@ -1,18 +1,18 @@ ![Reel](https://github.com/celluloid/reel/raw/master/logo.png) ======= [![Build Status](https://secure.travis-ci.org/celluloid/reel.png?branch=master)](http://travis-ci.org/celluloid/reel) Reel is a fast, non-blocking "evented" web server built on [http_parser.rb][parser], -[Celluloid::IO][celluloidio], and [nio4r][nio4r]. It's probably most similar to -[Goliath][goliath], but thanks to Celluloid also works great for multithreaded -applications and provides traditional multithreaded blocking I/O support too. +[libwebsocket][websockets],[ Celluloid::IO][celluloidio], and [nio4r][nio4r]. Thanks +to Celluloid, Reel also works great for multithreaded applications and provides +traditional multithreaded blocking I/O support too. [parser]: https://github.com/tmm1/http_parser.rb +[websockets]: https://github.com/imanel/websocket-ruby [celluloidio]: https://github.com/celluloid/celluloid-io [nio4r]: https://github.com/tarcieri/nio4r -[Goliath]: http://postrank-labs.github.com/goliath/ Connections to Reel can be either non-blocking and handled entirely within the Reel::Server thread, or the same connections can be dispatched to worker threads where they will perform ordinary blocking IO. Reel provides no built-in thread pool, however you can build one yourself using Celluloid.pool, @@ -61,14 +61,26 @@ ```ruby require 'reel' Reel::Server.supervise("0.0.0.0", 3000) do |connection| - request = connection.request - puts "Client requested: #{request.method} #{request.url}" - connection.respond :ok, "hello, world" + while request = connection.request + when Reel::Request + puts "Client requested: #{request.method} #{request.url}" + connection.respond :ok, "hello, world" + when Reel::WebSocket + puts "Client made a WebSocket request to: #{request.url}" + request << "Hello there" + connection.close + break + end + end end ``` + +When we read a request from the incoming connection, we'll either get back +a Reel::Request object, indicating a normal HTTP connection, or a +Reel::WebSocket object for WebSockets connections. Status ------ Reel is still in an extremely early stage of development and may be