rainbows.git  about / heads / tags
Unicorn for sleepy apps and slow clients
blob 3133ba6168b045884340352829643943796e4ec1 1355 bytes (raw)
$ git show v0.95.1:TODO	# shows this blob on the CLI

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
= TODO items for Rainbows!

We're lazy and pick the easy items to do first, then the ones people
care about.

* documentation improvements

* Split out NeverBlock into NeverBlockEventMachine and NeverBlockReactor
  NeverBlock will default to one of them (depending on NB upstream).

* allow _OPTIONAL_ splice(2) with DevFdResponse under Linux
  (splice is very broken under some older kernels)

* use IO#sendfile_nonblock for EventMachine/Revactor/NeverBlock

* Open file cache Rack app/middleware (idea from nginx), since sendfile
  (and IO.copy_stream) allows pread(2)-style offsets

* Byte range responses for static files + sendfile

* Improve test suite coverage.  We won't waste cycles with puny
  unit tests, only integration tests that exercise externally
  visible parts.

* EventMachine+Fibers+streaming input
  (those who do not require streaming input can use
  {rack-fiber_pool}[http://github.com/mperham/rack-fiber_pool])

* RevFiberPool

* ThreadPoolRevFiber{Spawn,Pool}: just because

* Rev + callcc - current Rev model with callcc (should work with MBARI)

* Omnibus - haven't looked into it, probably like Revactor with 1.8?

* Packet - pure Ruby, EventMachine-like library

* Rubinius Actors - should be like Revactor and easily doable once
  Rubinius gets more mature.

* test and improve performance (throughput/latency/memory usage)

git clone https://yhbt.net/rainbows.git