puma 5.1.1-java → 5.3.1-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/History.md +131 -10
- data/README.md +24 -2
- data/docs/architecture.md +22 -18
- data/docs/compile_options.md +6 -6
- data/docs/deployment.md +2 -2
- data/docs/jungle/rc.d/README.md +1 -1
- data/docs/kubernetes.md +66 -0
- data/docs/plugins.md +2 -2
- data/docs/rails_dev_mode.md +29 -0
- data/docs/restart.md +1 -1
- data/docs/stats.md +142 -0
- data/docs/systemd.md +1 -1
- data/ext/puma_http11/extconf.rb +14 -0
- data/ext/puma_http11/http11_parser.c +19 -21
- data/ext/puma_http11/http11_parser.h +1 -1
- data/ext/puma_http11/http11_parser.java.rl +1 -1
- data/ext/puma_http11/http11_parser.rl +1 -1
- data/ext/puma_http11/mini_ssl.c +162 -84
- data/ext/puma_http11/org/jruby/puma/Http11Parser.java +5 -7
- data/ext/puma_http11/puma_http11.c +2 -2
- data/lib/puma.rb +34 -8
- data/lib/puma/binder.rb +50 -43
- data/lib/puma/client.rb +5 -3
- data/lib/puma/cluster.rb +40 -8
- data/lib/puma/cluster/worker_handle.rb +4 -0
- data/lib/puma/configuration.rb +4 -1
- data/lib/puma/const.rb +3 -3
- data/lib/puma/control_cli.rb +5 -1
- data/lib/puma/detect.rb +14 -10
- data/lib/puma/dsl.rb +56 -4
- data/lib/puma/error_logger.rb +12 -5
- data/lib/puma/events.rb +2 -3
- data/lib/puma/launcher.rb +4 -3
- data/lib/puma/minissl.rb +48 -17
- data/lib/puma/minissl/context_builder.rb +6 -0
- data/lib/puma/null_io.rb +12 -0
- data/lib/puma/puma_http11.jar +0 -0
- data/lib/puma/queue_close.rb +7 -7
- data/lib/puma/reactor.rb +7 -2
- data/lib/puma/request.rb +9 -4
- data/lib/puma/runner.rb +8 -3
- data/lib/puma/server.rb +46 -112
- data/lib/puma/thread_pool.rb +4 -3
- data/lib/rack/handler/puma.rb +1 -0
- metadata +7 -4
data/lib/puma/thread_pool.rb
CHANGED
|
@@ -13,7 +13,7 @@ module Puma
|
|
|
13
13
|
# a thread pool via the `Puma::ThreadPool#<<` operator where it is stored in a `@todo` array.
|
|
14
14
|
#
|
|
15
15
|
# Each thread in the pool has an internal loop where it pulls a request from the `@todo` array
|
|
16
|
-
# and
|
|
16
|
+
# and processes it.
|
|
17
17
|
class ThreadPool
|
|
18
18
|
class ForceShutdown < RuntimeError
|
|
19
19
|
end
|
|
@@ -220,7 +220,7 @@ module Puma
|
|
|
220
220
|
# then the `@todo` array would stay the same size as the reactor works
|
|
221
221
|
# to try to buffer the request. In that scenario the next call to this
|
|
222
222
|
# method would not block and another request would be added into the reactor
|
|
223
|
-
# by the server. This would continue until a fully
|
|
223
|
+
# by the server. This would continue until a fully buffered request
|
|
224
224
|
# makes it through the reactor and can then be processed by the thread pool.
|
|
225
225
|
def wait_until_not_full
|
|
226
226
|
with_mutex do
|
|
@@ -240,11 +240,12 @@ module Puma
|
|
|
240
240
|
|
|
241
241
|
# @version 5.0.0
|
|
242
242
|
def wait_for_less_busy_worker(delay_s)
|
|
243
|
+
return unless delay_s && delay_s > 0
|
|
244
|
+
|
|
243
245
|
# Ruby MRI does GVL, this can result
|
|
244
246
|
# in processing contention when multiple threads
|
|
245
247
|
# (requests) are running concurrently
|
|
246
248
|
return unless Puma.mri?
|
|
247
|
-
return unless delay_s > 0
|
|
248
249
|
|
|
249
250
|
with_mutex do
|
|
250
251
|
return if @shutdown
|
data/lib/rack/handler/puma.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: puma
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.
|
|
4
|
+
version: 5.3.1
|
|
5
5
|
platform: java
|
|
6
6
|
authors:
|
|
7
7
|
- Evan Phoenix
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-05-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -17,8 +17,8 @@ dependencies:
|
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
18
|
version: '2.0'
|
|
19
19
|
name: nio4r
|
|
20
|
-
type: :runtime
|
|
21
20
|
prerelease: false
|
|
21
|
+
type: :runtime
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
@@ -53,10 +53,13 @@ files:
|
|
|
53
53
|
- docs/jungle/rc.d/README.md
|
|
54
54
|
- docs/jungle/rc.d/puma
|
|
55
55
|
- docs/jungle/rc.d/puma.conf
|
|
56
|
+
- docs/kubernetes.md
|
|
56
57
|
- docs/nginx.md
|
|
57
58
|
- docs/plugins.md
|
|
59
|
+
- docs/rails_dev_mode.md
|
|
58
60
|
- docs/restart.md
|
|
59
61
|
- docs/signals.md
|
|
62
|
+
- docs/stats.md
|
|
60
63
|
- docs/systemd.md
|
|
61
64
|
- ext/puma_http11/PumaHttp11Service.java
|
|
62
65
|
- ext/puma_http11/ext_help.h
|
|
@@ -137,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
137
140
|
- !ruby/object:Gem::Version
|
|
138
141
|
version: '0'
|
|
139
142
|
requirements: []
|
|
140
|
-
rubygems_version: 3.
|
|
143
|
+
rubygems_version: 3.1.6
|
|
141
144
|
signing_key:
|
|
142
145
|
specification_version: 4
|
|
143
146
|
summary: Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for
|