protocol-http2 0.17.0 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 20ea1a9636c45a186fe714ec65ae7160bca6d76b2629416bce0b42940e35a8d6
4
- data.tar.gz: 2197763799c0b2e70b24b0f95b10e1eeef2831a540346d65ca71334bdc83615e
3
+ metadata.gz: d3d7de9d5cea0bc568ee4cfe9c36ec1857d3e268b5b183bda0602fb66862faf3
4
+ data.tar.gz: 2a5e7b2fae05cb3ff96cc821160f745e80ffd45eef1363ea99c4c029853f5073
5
5
  SHA512:
6
- metadata.gz: 9d853eadb2b0bdac2940bf4338c6afd2376e2857c1516d9306736792122ff0a8409ac906e77e16c5c465e85f018365c184a03de6f6d7631181ecde6322328f71
7
- data.tar.gz: f989baa4230ebc3d511ee5a49836e3c794b7a6eba01e309b33471fe73effc4354c4e0929bc86a770f19663585e8d252942b184d4cda8d85d779e28babc0be5e5
6
+ metadata.gz: 15841f05ca83452964396dd3e9b2c7d0f7dd456d38495772545e3a57b1991a589a3fb68b99721c3303af76318dde23b8d8839242310da172b5ef715efcc0da61
7
+ data.tar.gz: 7148bc4ba24d364960beee692fce5f7be577bc147045ae1a829cb26b64c363501307359b998c16e36bd6bcfcfb6a2405f7f93d4ed8db2c231b5a1be814792fd9
checksums.yaml.gz.sig CHANGED
Binary file
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2019-2023, by Samuel Williams.
4
+ # Copyright, 2019-2024, by Samuel Williams.
5
5
  # Copyright, 2023, by Marco Concetto Rudilosso.
6
6
 
7
7
  require_relative 'framer'
@@ -62,8 +62,9 @@ module Protocol
62
62
  @remote_settings.maximum_frame_size
63
63
  end
64
64
 
65
+ # The maximum number of concurrent streams that this connection can initiate:
65
66
  def maximum_concurrent_streams
66
- @local_settings.maximum_concurrent_streams
67
+ @remote_settings.maximum_concurrent_streams
67
68
  end
68
69
 
69
70
  attr :framer
@@ -214,16 +215,20 @@ module Protocol
214
215
  def write_frame(frame)
215
216
  synchronize do
216
217
  @framer.write_frame(frame)
217
- @framer.flush
218
218
  end
219
+
220
+ # The IO is already synchronized, and we don't want additional contention.
221
+ @framer.flush
219
222
  end
220
223
 
221
224
  def write_frames
222
225
  if @framer
223
226
  synchronize do
224
227
  yield @framer
225
- @framer.flush
226
228
  end
229
+
230
+ # See above note.
231
+ @framer.flush
227
232
  else
228
233
  raise EOFError, "Connection closed!"
229
234
  end
@@ -385,7 +390,8 @@ module Protocol
385
390
  raise ProtocolError, "Invalid stream id: #{stream_id} <= #{@remote_stream_id}!"
386
391
  end
387
392
 
388
- if @streams.size < self.maximum_concurrent_streams
393
+ # We need to validate that we have less streams than the specified maximum:
394
+ if @streams.size < @local_settings.maximum_concurrent_streams
389
395
  stream = accept_stream(stream_id)
390
396
  @remote_stream_id = stream_id
391
397
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2019-2023, by Samuel Williams.
4
+ # Copyright, 2019-2024, by Samuel Williams.
5
5
 
6
6
  require_relative 'error'
7
7
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2019-2023, by Samuel Williams.
4
+ # Copyright, 2019-2024, by Samuel Williams.
5
5
 
6
6
  require_relative 'connection'
7
7
 
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2019-2023, by Samuel Williams.
4
+ # Copyright, 2019-2024, by Samuel Williams.
5
5
 
6
6
  module Protocol
7
7
  module HTTP2
8
- VERSION = "0.17.0"
8
+ VERSION = "0.18.0"
9
9
  end
10
10
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protocol-http2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -40,7 +40,7 @@ cert_chain:
40
40
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
41
41
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
42
42
  -----END CERTIFICATE-----
43
- date: 2024-04-21 00:00:00.000000000 Z
43
+ date: 2024-06-10 00:00:00.000000000 Z
44
44
  dependencies:
45
45
  - !ruby/object:Gem::Dependency
46
46
  name: protocol-hpack
@@ -103,7 +103,9 @@ files:
103
103
  homepage: https://github.com/socketry/protocol-http2
104
104
  licenses:
105
105
  - MIT
106
- metadata: {}
106
+ metadata:
107
+ documentation_uri: https://socketry.github.io/protocol-http2/
108
+ source_code_uri: https://github.com/socketry/protocol-http2.git
107
109
  post_install_message:
108
110
  rdoc_options: []
109
111
  require_paths:
@@ -112,14 +114,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
112
114
  requirements:
113
115
  - - ">="
114
116
  - !ruby/object:Gem::Version
115
- version: '3.0'
117
+ version: '3.1'
116
118
  required_rubygems_version: !ruby/object:Gem::Requirement
117
119
  requirements:
118
120
  - - ">="
119
121
  - !ruby/object:Gem::Version
120
122
  version: '0'
121
123
  requirements: []
122
- rubygems_version: 3.5.3
124
+ rubygems_version: 3.5.9
123
125
  signing_key:
124
126
  specification_version: 4
125
127
  summary: A low level implementation of the HTTP/2 protocol.
metadata.gz.sig CHANGED
Binary file