rainbows 0.97.0 → 1.0.0pre1
Sign up to get free protection for your applications and to get access to all the features.
- data/.manifest +14 -2
- data/ChangeLog +87 -118
- data/GIT-VERSION-FILE +1 -1
- data/GIT-VERSION-GEN +1 -1
- data/GNUmakefile +1 -1
- data/README +1 -1
- data/bin/rainbows +15 -20
- data/lib/rainbows/actor_spawn.rb +20 -22
- data/lib/rainbows/app_pool.rb +89 -93
- data/lib/rainbows/base.rb +4 -61
- data/lib/rainbows/client.rb +9 -0
- data/lib/rainbows/configurator.rb +37 -39
- data/lib/rainbows/const.rb +18 -18
- data/lib/rainbows/dev_fd_response.rb +2 -1
- data/lib/rainbows/error.rb +39 -37
- data/lib/rainbows/ev_core.rb +103 -109
- data/lib/rainbows/event_machine.rb +188 -196
- data/lib/rainbows/fiber/base.rb +69 -88
- data/lib/rainbows/fiber/io/compat.rb +13 -0
- data/lib/rainbows/fiber/io/methods.rb +49 -0
- data/lib/rainbows/fiber/io/pipe.rb +7 -0
- data/lib/rainbows/fiber/io/socket.rb +7 -0
- data/lib/rainbows/fiber/io.rb +125 -84
- data/lib/rainbows/fiber/rev/heartbeat.rb +8 -0
- data/lib/rainbows/fiber/rev/kato.rb +22 -0
- data/lib/rainbows/fiber/rev/methods.rb +55 -0
- data/lib/rainbows/fiber/rev/server.rb +32 -0
- data/lib/rainbows/fiber/rev/sleeper.rb +15 -0
- data/lib/rainbows/fiber/rev.rb +6 -164
- data/lib/rainbows/fiber.rb +23 -5
- data/lib/rainbows/fiber_pool.rb +31 -37
- data/lib/rainbows/fiber_spawn.rb +21 -28
- data/lib/rainbows/http_server.rb +80 -80
- data/lib/rainbows/max_body.rb +26 -28
- data/lib/rainbows/process_client.rb +61 -0
- data/lib/rainbows/queue_pool.rb +19 -22
- data/lib/rainbows/read_timeout.rb +28 -0
- data/lib/rainbows/rev/client.rb +10 -10
- data/lib/rainbows/rev/core.rb +2 -3
- data/lib/rainbows/rev/thread.rb +1 -1
- data/lib/rainbows/rev_fiber_spawn.rb +21 -24
- data/lib/rainbows/revactor.rb +18 -15
- data/lib/rainbows/thread_pool.rb +2 -4
- data/lib/rainbows/thread_spawn.rb +1 -2
- data/lib/rainbows/writer_thread_pool.rb +14 -4
- data/lib/rainbows/writer_thread_spawn.rb +14 -4
- data/lib/rainbows.rb +7 -15
- data/local.mk.sample +3 -11
- data/rainbows.gemspec +2 -4
- data/t/kgio-pipe-response.ru +10 -0
- data/t/t0035-kgio-pipe-response.sh +70 -0
- data/t/test_isolate.rb +2 -1
- metadata +46 -30
- data/lib/rainbows/acceptor.rb +0 -26
- data/lib/rainbows/byte_slice.rb +0 -17
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rainbows
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: -766259895
|
5
|
+
prerelease: true
|
6
6
|
segments:
|
7
|
+
- 1
|
7
8
|
- 0
|
8
|
-
-
|
9
|
-
|
10
|
-
version: 0.97.0
|
9
|
+
- 0pre1
|
10
|
+
version: 1.0.0pre1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Rainbows! hackers
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-10-26 00:00:00 +00:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -39,22 +39,14 @@ dependencies:
|
|
39
39
|
requirement: &id002 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
hash: 21
|
45
|
-
segments:
|
46
|
-
- 1
|
47
|
-
- 1
|
48
|
-
- 3
|
49
|
-
version: 1.1.3
|
50
|
-
- - <
|
42
|
+
- - ~>
|
51
43
|
- !ruby/object:Gem::Version
|
52
|
-
hash:
|
44
|
+
hash: -766259860
|
53
45
|
segments:
|
54
46
|
- 2
|
55
47
|
- 0
|
56
|
-
-
|
57
|
-
version: 2.0.
|
48
|
+
- 0pre3
|
49
|
+
version: 2.0.0pre3
|
58
50
|
type: :runtime
|
59
51
|
version_requirements: *id002
|
60
52
|
- !ruby/object:Gem::Dependency
|
@@ -65,12 +57,12 @@ dependencies:
|
|
65
57
|
requirements:
|
66
58
|
- - ~>
|
67
59
|
- !ruby/object:Gem::Version
|
68
|
-
hash:
|
60
|
+
hash: 7
|
69
61
|
segments:
|
70
|
-
-
|
71
|
-
-
|
62
|
+
- 3
|
63
|
+
- 0
|
72
64
|
- 0
|
73
|
-
version:
|
65
|
+
version: 3.0.0
|
74
66
|
type: :development
|
75
67
|
version_requirements: *id003
|
76
68
|
description: |-
|
@@ -87,11 +79,10 @@ extra_rdoc_files:
|
|
87
79
|
- DEPLOY
|
88
80
|
- FAQ
|
89
81
|
- lib/rainbows.rb
|
90
|
-
- lib/rainbows/acceptor.rb
|
91
82
|
- lib/rainbows/actor_spawn.rb
|
92
83
|
- lib/rainbows/app_pool.rb
|
93
84
|
- lib/rainbows/base.rb
|
94
|
-
- lib/rainbows/
|
85
|
+
- lib/rainbows/client.rb
|
95
86
|
- lib/rainbows/configurator.rb
|
96
87
|
- lib/rainbows/const.rb
|
97
88
|
- lib/rainbows/dev_fd_response.rb
|
@@ -105,8 +96,17 @@ extra_rdoc_files:
|
|
105
96
|
- lib/rainbows/fiber/base.rb
|
106
97
|
- lib/rainbows/fiber/body.rb
|
107
98
|
- lib/rainbows/fiber/io.rb
|
99
|
+
- lib/rainbows/fiber/io/compat.rb
|
100
|
+
- lib/rainbows/fiber/io/methods.rb
|
101
|
+
- lib/rainbows/fiber/io/pipe.rb
|
102
|
+
- lib/rainbows/fiber/io/socket.rb
|
108
103
|
- lib/rainbows/fiber/queue.rb
|
109
104
|
- lib/rainbows/fiber/rev.rb
|
105
|
+
- lib/rainbows/fiber/rev/heartbeat.rb
|
106
|
+
- lib/rainbows/fiber/rev/kato.rb
|
107
|
+
- lib/rainbows/fiber/rev/methods.rb
|
108
|
+
- lib/rainbows/fiber/rev/server.rb
|
109
|
+
- lib/rainbows/fiber/rev/sleeper.rb
|
110
110
|
- lib/rainbows/fiber_pool.rb
|
111
111
|
- lib/rainbows/fiber_spawn.rb
|
112
112
|
- lib/rainbows/http_response.rb
|
@@ -114,7 +114,9 @@ extra_rdoc_files:
|
|
114
114
|
- lib/rainbows/max_body.rb
|
115
115
|
- lib/rainbows/never_block.rb
|
116
116
|
- lib/rainbows/never_block/event_machine.rb
|
117
|
+
- lib/rainbows/process_client.rb
|
117
118
|
- lib/rainbows/queue_pool.rb
|
119
|
+
- lib/rainbows/read_timeout.rb
|
118
120
|
- lib/rainbows/response.rb
|
119
121
|
- lib/rainbows/response/body.rb
|
120
122
|
- lib/rainbows/response/range.rb
|
@@ -180,11 +182,10 @@ files:
|
|
180
182
|
- Test_Suite
|
181
183
|
- bin/rainbows
|
182
184
|
- lib/rainbows.rb
|
183
|
-
- lib/rainbows/acceptor.rb
|
184
185
|
- lib/rainbows/actor_spawn.rb
|
185
186
|
- lib/rainbows/app_pool.rb
|
186
187
|
- lib/rainbows/base.rb
|
187
|
-
- lib/rainbows/
|
188
|
+
- lib/rainbows/client.rb
|
188
189
|
- lib/rainbows/configurator.rb
|
189
190
|
- lib/rainbows/const.rb
|
190
191
|
- lib/rainbows/dev_fd_response.rb
|
@@ -198,8 +199,17 @@ files:
|
|
198
199
|
- lib/rainbows/fiber/base.rb
|
199
200
|
- lib/rainbows/fiber/body.rb
|
200
201
|
- lib/rainbows/fiber/io.rb
|
202
|
+
- lib/rainbows/fiber/io/compat.rb
|
203
|
+
- lib/rainbows/fiber/io/methods.rb
|
204
|
+
- lib/rainbows/fiber/io/pipe.rb
|
205
|
+
- lib/rainbows/fiber/io/socket.rb
|
201
206
|
- lib/rainbows/fiber/queue.rb
|
202
207
|
- lib/rainbows/fiber/rev.rb
|
208
|
+
- lib/rainbows/fiber/rev/heartbeat.rb
|
209
|
+
- lib/rainbows/fiber/rev/kato.rb
|
210
|
+
- lib/rainbows/fiber/rev/methods.rb
|
211
|
+
- lib/rainbows/fiber/rev/server.rb
|
212
|
+
- lib/rainbows/fiber/rev/sleeper.rb
|
203
213
|
- lib/rainbows/fiber_pool.rb
|
204
214
|
- lib/rainbows/fiber_spawn.rb
|
205
215
|
- lib/rainbows/http_response.rb
|
@@ -207,7 +217,9 @@ files:
|
|
207
217
|
- lib/rainbows/max_body.rb
|
208
218
|
- lib/rainbows/never_block.rb
|
209
219
|
- lib/rainbows/never_block/event_machine.rb
|
220
|
+
- lib/rainbows/process_client.rb
|
210
221
|
- lib/rainbows/queue_pool.rb
|
222
|
+
- lib/rainbows/read_timeout.rb
|
211
223
|
- lib/rainbows/response.rb
|
212
224
|
- lib/rainbows/response/body.rb
|
213
225
|
- lib/rainbows/response/range.rb
|
@@ -265,6 +277,7 @@ files:
|
|
265
277
|
- t/file-wrap-to_path.ru
|
266
278
|
- t/fork-sleep.ru
|
267
279
|
- t/heartbeat-timeout.ru
|
280
|
+
- t/kgio-pipe-response.ru
|
268
281
|
- t/large-file-response.ru
|
269
282
|
- t/my-tap-lib.sh
|
270
283
|
- t/rack-fiber_pool/app.ru
|
@@ -317,6 +330,7 @@ files:
|
|
317
330
|
- t/t0031-close-pipe-response.sh
|
318
331
|
- t/t0032-close-pipe-to_path-response.sh
|
319
332
|
- t/t0034-pipelined-pipe-response.sh
|
333
|
+
- t/t0035-kgio-pipe-response.sh
|
320
334
|
- t/t0100-rack-input-hammer-chunked.sh
|
321
335
|
- t/t0100-rack-input-hammer-content-length.sh
|
322
336
|
- t/t0101-rack-input-trailer.sh
|
@@ -369,12 +383,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
369
383
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
370
384
|
none: false
|
371
385
|
requirements:
|
372
|
-
- - "
|
386
|
+
- - ">"
|
373
387
|
- !ruby/object:Gem::Version
|
374
|
-
hash:
|
388
|
+
hash: 25
|
375
389
|
segments:
|
376
|
-
-
|
377
|
-
|
390
|
+
- 1
|
391
|
+
- 3
|
392
|
+
- 1
|
393
|
+
version: 1.3.1
|
378
394
|
requirements: []
|
379
395
|
|
380
396
|
rubyforge_project: rainbows
|
data/lib/rainbows/acceptor.rb
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
# -*- encoding: binary -*-
|
2
|
-
|
3
|
-
# :enddoc:
|
4
|
-
require 'fcntl'
|
5
|
-
|
6
|
-
# this should make life easier for Zbatery if compatibility with
|
7
|
-
# fcntl-crippled platforms is required (or if FD_CLOEXEC is inherited)
|
8
|
-
# and we want to microptimize away fcntl(2) syscalls.
|
9
|
-
module Rainbows::Acceptor
|
10
|
-
|
11
|
-
# returns nil if accept fails
|
12
|
-
def sync_accept(sock)
|
13
|
-
rv = sock.accept
|
14
|
-
rv.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC)
|
15
|
-
rv
|
16
|
-
rescue Errno::EAGAIN, Errno::ECONNABORTED, Errno::EINTR
|
17
|
-
end
|
18
|
-
|
19
|
-
# returns nil if accept fails
|
20
|
-
def accept(sock)
|
21
|
-
rv = sock.accept_nonblock
|
22
|
-
rv.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC)
|
23
|
-
rv
|
24
|
-
rescue Errno::EAGAIN, Errno::ECONNABORTED
|
25
|
-
end
|
26
|
-
end
|
data/lib/rainbows/byte_slice.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
# -*- encoding: binary -*-
|
2
|
-
# :enddoc:
|
3
|
-
module Rainbows::ByteSlice
|
4
|
-
if String.method_defined?(:encoding)
|
5
|
-
def byte_slice(buf, range)
|
6
|
-
if buf.encoding != Encoding::BINARY
|
7
|
-
buf.dup.force_encoding(Encoding::BINARY)[range]
|
8
|
-
else
|
9
|
-
buf[range]
|
10
|
-
end
|
11
|
-
end
|
12
|
-
else
|
13
|
-
def byte_slice(buf, range)
|
14
|
-
buf[range]
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|