README.md in reel-0.1.0 vs README.md in reel-0.2.0.pre
- old
+ new
@@ -1,18 +1,18 @@

=======
[](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