rainbows 2.0.1 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. data/.document +1 -0
  2. data/.gitignore +1 -0
  3. data/.manifest +46 -18
  4. data/.wrongdoc.yml +8 -0
  5. data/ChangeLog +849 -374
  6. data/Documentation/comparison.haml +26 -21
  7. data/FAQ +6 -0
  8. data/GIT-VERSION-GEN +1 -1
  9. data/GNUmakefile +23 -65
  10. data/LATEST +27 -0
  11. data/NEWS +53 -26
  12. data/README +7 -7
  13. data/Rakefile +1 -98
  14. data/Summary +0 -7
  15. data/TODO +2 -2
  16. data/lib/rainbows/app_pool.rb +2 -1
  17. data/lib/rainbows/base.rb +1 -0
  18. data/lib/rainbows/configurator.rb +9 -0
  19. data/lib/rainbows/const.rb +1 -1
  20. data/lib/rainbows/coolio/client.rb +191 -0
  21. data/lib/rainbows/coolio/core.rb +25 -0
  22. data/lib/rainbows/{rev → coolio}/deferred_chunk_response.rb +3 -2
  23. data/lib/rainbows/{rev → coolio}/deferred_response.rb +3 -3
  24. data/lib/rainbows/coolio/heartbeat.rb +20 -0
  25. data/lib/rainbows/{rev → coolio}/master.rb +2 -3
  26. data/lib/rainbows/{rev → coolio}/sendfile.rb +1 -1
  27. data/lib/rainbows/coolio/server.rb +11 -0
  28. data/lib/rainbows/coolio/thread_client.rb +36 -0
  29. data/lib/rainbows/coolio.rb +45 -0
  30. data/lib/rainbows/coolio_fiber_spawn.rb +26 -0
  31. data/lib/rainbows/coolio_support.rb +9 -0
  32. data/lib/rainbows/coolio_thread_pool/client.rb +8 -0
  33. data/lib/rainbows/coolio_thread_pool/watcher.rb +14 -0
  34. data/lib/rainbows/coolio_thread_pool.rb +57 -0
  35. data/lib/rainbows/coolio_thread_spawn/client.rb +8 -0
  36. data/lib/rainbows/coolio_thread_spawn.rb +27 -0
  37. data/lib/rainbows/dev_fd_response.rb +6 -2
  38. data/lib/rainbows/ev_core/cap_input.rb +3 -2
  39. data/lib/rainbows/ev_core.rb +13 -3
  40. data/lib/rainbows/event_machine/client.rb +124 -0
  41. data/lib/rainbows/event_machine/response_pipe.rb +1 -2
  42. data/lib/rainbows/event_machine/server.rb +15 -0
  43. data/lib/rainbows/event_machine.rb +13 -137
  44. data/lib/rainbows/fiber/base.rb +6 -7
  45. data/lib/rainbows/fiber/body.rb +4 -2
  46. data/lib/rainbows/fiber/coolio/heartbeat.rb +15 -0
  47. data/lib/rainbows/fiber/{rev → coolio}/methods.rb +4 -5
  48. data/lib/rainbows/fiber/{rev → coolio}/server.rb +1 -1
  49. data/lib/rainbows/fiber/{rev → coolio}/sleeper.rb +2 -2
  50. data/lib/rainbows/fiber/coolio.rb +12 -0
  51. data/lib/rainbows/fiber/io/methods.rb +6 -0
  52. data/lib/rainbows/fiber/io.rb +8 -10
  53. data/lib/rainbows/fiber/queue.rb +24 -30
  54. data/lib/rainbows/fiber.rb +7 -4
  55. data/lib/rainbows/fiber_pool.rb +1 -1
  56. data/lib/rainbows/http_server.rb +9 -2
  57. data/lib/rainbows/max_body.rb +3 -1
  58. data/lib/rainbows/never_block/core.rb +15 -0
  59. data/lib/rainbows/never_block/event_machine.rb +8 -3
  60. data/lib/rainbows/never_block.rb +37 -70
  61. data/lib/rainbows/process_client.rb +3 -6
  62. data/lib/rainbows/rack_input.rb +17 -0
  63. data/lib/rainbows/response/body.rb +18 -19
  64. data/lib/rainbows/response.rb +1 -1
  65. data/lib/rainbows/rev.rb +21 -43
  66. data/lib/rainbows/rev_fiber_spawn.rb +4 -19
  67. data/lib/rainbows/rev_thread_pool.rb +21 -75
  68. data/lib/rainbows/rev_thread_spawn.rb +18 -36
  69. data/lib/rainbows/revactor/body.rb +4 -1
  70. data/lib/rainbows/revactor/tee_socket.rb +44 -0
  71. data/lib/rainbows/revactor.rb +13 -48
  72. data/lib/rainbows/socket_proxy.rb +24 -0
  73. data/lib/rainbows/sync_close.rb +37 -0
  74. data/lib/rainbows/thread_pool.rb +66 -70
  75. data/lib/rainbows/thread_spawn.rb +40 -50
  76. data/lib/rainbows/thread_timeout.rb +33 -27
  77. data/lib/rainbows/timed_read.rb +5 -1
  78. data/lib/rainbows/worker_yield.rb +16 -0
  79. data/lib/rainbows/writer_thread_pool/client.rb +19 -0
  80. data/lib/rainbows/writer_thread_pool.rb +60 -91
  81. data/lib/rainbows/writer_thread_spawn/client.rb +69 -0
  82. data/lib/rainbows/writer_thread_spawn.rb +37 -117
  83. data/lib/rainbows.rb +12 -4
  84. data/rainbows.gemspec +15 -19
  85. data/t/GNUmakefile +4 -4
  86. data/t/close-has-env.ru +65 -0
  87. data/t/simple-http_Coolio.ru +9 -0
  88. data/t/simple-http_CoolioFiberSpawn.ru +10 -0
  89. data/t/simple-http_CoolioThreadPool.ru +9 -0
  90. data/t/simple-http_CoolioThreadSpawn.ru +9 -0
  91. data/t/t0004-heartbeat-timeout.sh +2 -2
  92. data/t/t0007-worker-follows-master-to-death.sh +1 -1
  93. data/t/t0015-working_directory.sh +7 -1
  94. data/t/t0017-keepalive-timeout-zero.sh +1 -1
  95. data/t/t0019-keepalive-cpu-usage.sh +62 -0
  96. data/t/t0040-keepalive_requests-setting.sh +51 -0
  97. data/t/t0050-response-body-close-has-env.sh +109 -0
  98. data/t/t0102-rack-input-short.sh +6 -6
  99. data/t/t0106-rack-input-keepalive.sh +48 -2
  100. data/t/t0113-rewindable-input-false.sh +28 -0
  101. data/t/t0113.ru +12 -0
  102. data/t/t0114-rewindable-input-true.sh +28 -0
  103. data/t/t0114.ru +12 -0
  104. data/t/t9100-thread-timeout.sh +24 -2
  105. data/t/t9101-thread-timeout-threshold.sh +6 -13
  106. data/t/test-lib.sh +2 -1
  107. data/t/test_isolate.rb +9 -4
  108. data/t/times.ru +6 -0
  109. metadata +109 -42
  110. data/GIT-VERSION-FILE +0 -1
  111. data/lib/rainbows/fiber/rev/heartbeat.rb +0 -8
  112. data/lib/rainbows/fiber/rev/kato.rb +0 -22
  113. data/lib/rainbows/fiber/rev.rb +0 -13
  114. data/lib/rainbows/rev/client.rb +0 -194
  115. data/lib/rainbows/rev/core.rb +0 -41
  116. data/lib/rainbows/rev/heartbeat.rb +0 -23
  117. data/lib/rainbows/rev/thread.rb +0 -46
  118. data/man/man1/rainbows.1 +0 -193
data/.document CHANGED
@@ -2,6 +2,7 @@ ChangeLog
2
2
  DEPLOY
3
3
  FAQ
4
4
  lib
5
+ LATEST
5
6
  LICENSE
6
7
  NEWS
7
8
  rainbows_1
data/.gitignore CHANGED
@@ -16,3 +16,4 @@ pkg/
16
16
  /.manifest
17
17
  /GIT-VERSION-FILE
18
18
  /man
19
+ /LATEST
data/.manifest CHANGED
@@ -1,8 +1,8 @@
1
1
  .document
2
2
  .gitignore
3
3
  .manifest
4
+ .wrongdoc.yml
4
5
  COPYING
5
- ChangeLog
6
6
  DEPLOY
7
7
  Documentation/.gitignore
8
8
  Documentation/GNUmakefile
@@ -10,11 +10,9 @@ Documentation/comparison.css
10
10
  Documentation/comparison.haml
11
11
  Documentation/rainbows.1.txt
12
12
  FAQ
13
- GIT-VERSION-FILE
14
13
  GIT-VERSION-GEN
15
14
  GNUmakefile
16
15
  LICENSE
17
- NEWS
18
16
  README
19
17
  Rakefile
20
18
  SIGNALS
@@ -31,29 +29,47 @@ lib/rainbows/base.rb
31
29
  lib/rainbows/client.rb
32
30
  lib/rainbows/configurator.rb
33
31
  lib/rainbows/const.rb
32
+ lib/rainbows/coolio.rb
33
+ lib/rainbows/coolio/client.rb
34
+ lib/rainbows/coolio/core.rb
35
+ lib/rainbows/coolio/deferred_chunk_response.rb
36
+ lib/rainbows/coolio/deferred_response.rb
37
+ lib/rainbows/coolio/heartbeat.rb
38
+ lib/rainbows/coolio/master.rb
39
+ lib/rainbows/coolio/sendfile.rb
40
+ lib/rainbows/coolio/server.rb
41
+ lib/rainbows/coolio/thread_client.rb
42
+ lib/rainbows/coolio_fiber_spawn.rb
43
+ lib/rainbows/coolio_support.rb
44
+ lib/rainbows/coolio_thread_pool.rb
45
+ lib/rainbows/coolio_thread_pool/client.rb
46
+ lib/rainbows/coolio_thread_pool/watcher.rb
47
+ lib/rainbows/coolio_thread_spawn.rb
48
+ lib/rainbows/coolio_thread_spawn/client.rb
34
49
  lib/rainbows/dev_fd_response.rb
35
50
  lib/rainbows/error.rb
36
51
  lib/rainbows/ev_core.rb
37
52
  lib/rainbows/ev_core/cap_input.rb
38
53
  lib/rainbows/event_machine.rb
54
+ lib/rainbows/event_machine/client.rb
39
55
  lib/rainbows/event_machine/response_chunk_pipe.rb
40
56
  lib/rainbows/event_machine/response_pipe.rb
57
+ lib/rainbows/event_machine/server.rb
41
58
  lib/rainbows/event_machine/try_defer.rb
42
59
  lib/rainbows/fiber.rb
43
60
  lib/rainbows/fiber/base.rb
44
61
  lib/rainbows/fiber/body.rb
62
+ lib/rainbows/fiber/coolio.rb
63
+ lib/rainbows/fiber/coolio/heartbeat.rb
64
+ lib/rainbows/fiber/coolio/methods.rb
65
+ lib/rainbows/fiber/coolio/server.rb
66
+ lib/rainbows/fiber/coolio/sleeper.rb
45
67
  lib/rainbows/fiber/io.rb
46
68
  lib/rainbows/fiber/io/compat.rb
47
69
  lib/rainbows/fiber/io/methods.rb
48
70
  lib/rainbows/fiber/io/pipe.rb
49
71
  lib/rainbows/fiber/io/socket.rb
50
72
  lib/rainbows/fiber/queue.rb
51
- lib/rainbows/fiber/rev.rb
52
- lib/rainbows/fiber/rev/heartbeat.rb
53
- lib/rainbows/fiber/rev/kato.rb
54
- lib/rainbows/fiber/rev/methods.rb
55
- lib/rainbows/fiber/rev/server.rb
56
- lib/rainbows/fiber/rev/sleeper.rb
57
73
  lib/rainbows/fiber_pool.rb
58
74
  lib/rainbows/fiber_spawn.rb
59
75
  lib/rainbows/http_response.rb
@@ -62,38 +78,37 @@ lib/rainbows/max_body.rb
62
78
  lib/rainbows/max_body/rewindable_wrapper.rb
63
79
  lib/rainbows/max_body/wrapper.rb
64
80
  lib/rainbows/never_block.rb
81
+ lib/rainbows/never_block/core.rb
65
82
  lib/rainbows/never_block/event_machine.rb
66
83
  lib/rainbows/process_client.rb
67
84
  lib/rainbows/queue_pool.rb
85
+ lib/rainbows/rack_input.rb
68
86
  lib/rainbows/response.rb
69
87
  lib/rainbows/response/body.rb
70
88
  lib/rainbows/response/range.rb
71
89
  lib/rainbows/rev.rb
72
- lib/rainbows/rev/client.rb
73
- lib/rainbows/rev/core.rb
74
- lib/rainbows/rev/deferred_chunk_response.rb
75
- lib/rainbows/rev/deferred_response.rb
76
- lib/rainbows/rev/heartbeat.rb
77
- lib/rainbows/rev/master.rb
78
- lib/rainbows/rev/sendfile.rb
79
- lib/rainbows/rev/thread.rb
80
90
  lib/rainbows/rev_fiber_spawn.rb
81
91
  lib/rainbows/rev_thread_pool.rb
82
92
  lib/rainbows/rev_thread_spawn.rb
83
93
  lib/rainbows/revactor.rb
84
94
  lib/rainbows/revactor/body.rb
85
95
  lib/rainbows/revactor/proxy.rb
96
+ lib/rainbows/revactor/tee_socket.rb
86
97
  lib/rainbows/sendfile.rb
87
98
  lib/rainbows/server_token.rb
99
+ lib/rainbows/socket_proxy.rb
88
100
  lib/rainbows/stream_file.rb
101
+ lib/rainbows/sync_close.rb
89
102
  lib/rainbows/thread_pool.rb
90
103
  lib/rainbows/thread_spawn.rb
91
104
  lib/rainbows/thread_timeout.rb
92
105
  lib/rainbows/timed_read.rb
106
+ lib/rainbows/worker_yield.rb
93
107
  lib/rainbows/writer_thread_pool.rb
108
+ lib/rainbows/writer_thread_pool/client.rb
94
109
  lib/rainbows/writer_thread_spawn.rb
110
+ lib/rainbows/writer_thread_spawn/client.rb
95
111
  local.mk.sample
96
- man/man1/rainbows.1
97
112
  rainbows.gemspec
98
113
  setup.rb
99
114
  t/.gitignore
@@ -110,6 +125,7 @@ t/bin/content-md5-put
110
125
  t/bin/sha1sum.rb
111
126
  t/bin/unused_listen
112
127
  t/bin/utee
128
+ t/close-has-env.ru
113
129
  t/close-pipe-response.ru
114
130
  t/close-pipe-to_path-response.ru
115
131
  t/content-md5.ru
@@ -130,6 +146,10 @@ t/sha1-random-size.ru
130
146
  t/sha1.ru
131
147
  t/simple-http_ActorSpawn.ru
132
148
  t/simple-http_Base.ru
149
+ t/simple-http_Coolio.ru
150
+ t/simple-http_CoolioFiberSpawn.ru
151
+ t/simple-http_CoolioThreadPool.ru
152
+ t/simple-http_CoolioThreadSpawn.ru
133
153
  t/simple-http_EventMachine.ru
134
154
  t/simple-http_FiberPool.ru
135
155
  t/simple-http_FiberSpawn.ru
@@ -167,6 +187,7 @@ t/t0016-onenine-encoding-is-tricky.sh
167
187
  t/t0016.rb
168
188
  t/t0017-keepalive-timeout-zero.sh
169
189
  t/t0018-reload-restore-settings.sh
190
+ t/t0019-keepalive-cpu-usage.sh
170
191
  t/t0020-large-sendfile-response.sh
171
192
  t/t0021-sendfile-wrap-to_path.sh
172
193
  t/t0022-copy_stream-byte-range.sh
@@ -177,6 +198,8 @@ t/t0031-close-pipe-response.sh
177
198
  t/t0032-close-pipe-to_path-response.sh
178
199
  t/t0034-pipelined-pipe-response.sh
179
200
  t/t0035-kgio-pipe-response.sh
201
+ t/t0040-keepalive_requests-setting.sh
202
+ t/t0050-response-body-close-has-env.sh
180
203
  t/t0100-rack-input-hammer-chunked.sh
181
204
  t/t0100-rack-input-hammer-content-length.sh
182
205
  t/t0101-rack-input-trailer.sh
@@ -185,6 +208,10 @@ t/t0103-rack-input-limit.sh
185
208
  t/t0104-rack-input-limit-tiny.sh
186
209
  t/t0105-rack-input-limit-bigger.sh
187
210
  t/t0106-rack-input-keepalive.sh
211
+ t/t0113-rewindable-input-false.sh
212
+ t/t0113.ru
213
+ t/t0114-rewindable-input-true.sh
214
+ t/t0114.ru
188
215
  t/t0200-async-response.sh
189
216
  t/t0201-async-response-no-autochunk.sh
190
217
  t/t0300-async_sinatra.sh
@@ -206,5 +233,6 @@ t/t9101-thread-timeout-threshold.sh
206
233
  t/t9101.ru
207
234
  t/test-lib.sh
208
235
  t/test_isolate.rb
236
+ t/times.ru
209
237
  t/worker-follows-master-to-death.ru
210
238
  vs_Unicorn
data/.wrongdoc.yml ADDED
@@ -0,0 +1,8 @@
1
+ ---
2
+ cgit_url: http://git.bogomips.org/cgit/rainbows.git
3
+ git_url: git://git.bogomips.org/rainbows.git
4
+ rdoc_url: http://rainbows.rubyforge.org/
5
+ changelog_start: v0.97.0
6
+ merge_html:
7
+ rainbows_1: Documentation/rainbows.1.html
8
+ Summary: Documentation/comparison.html