http-2-next 1.0.1 → 1.0.2

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: 772dfd651b9130358e1de248ead9c68729e482dfdd518973a2d4b61d787d7807
4
- data.tar.gz: 59dca4e2a1319dc7363b00e3d52ee7889354f0b0bb114fe49bfc7cd47cbcb1e4
3
+ metadata.gz: 63f956f2326b803ec836c578b8f98326934897307bda409f2c639e5c88893689
4
+ data.tar.gz: fbb8a4486463e0e0e5c0d4ed04cf4120a73acdf169f99b99365a0805f89fe5c1
5
5
  SHA512:
6
- metadata.gz: fb2dce4d9d3f663929771b3141b616030de65f1004e28acee1e01a7d4aa306daba51a839fb9c2e68337d056311369bfb6f1b3bb7dae3cf755a9510839185bef8
7
- data.tar.gz: 5c3e377005030768e6056e9cab0076a5e1165ef0aa4433c4920db2cbd29fed171867da9f4b6da5e2c7b64da340bc24f65e01397c90cc7f160ae520f563dbc132
6
+ metadata.gz: 628b410fe470df16e61d11732c65553381bcb060f2fe2639af4889aff5d9e3a046ee55e1d67599e1c268dd38c3f4ff22f8fb257ee100a96ba384a9ea1e976726
7
+ data.tar.gz: 86e1148ca63e9d36745ab703ab29f174fdae5cb8473b167fa4f09138274899713cb57e7604c6ff51d0fae493ea98262b1d86adf94c42c0248e50721ae2f63add
@@ -731,11 +731,13 @@ module HTTP2Next
731
731
  # to any in-flight frames while close is registered on both sides.
732
732
  # References to such streams will be purged whenever another stream
733
733
  # is closed, with a minimum of 15s RTT time window.
734
- @streams_recently_closed.reject! do |stream_id, v|
735
- to_delete = (Process.clock_gettime(Process::CLOCK_MONOTONIC) - v) > 15
736
- @streams.delete stream_id if to_delete
737
- to_delete
738
- end
734
+ now = Process.clock_gettime(Process::CLOCK_MONOTONIC)
735
+
736
+ # TODO: use a drop_while! variant whenever there is one.
737
+ @streams_recently_closed = @streams_recently_closed.drop_while do |_, v|
738
+ (now - v) > 15
739
+ end.to_h
740
+
739
741
  @streams_recently_closed[id] = Process.clock_gettime(Process::CLOCK_MONOTONIC)
740
742
  end
741
743
 
@@ -170,7 +170,7 @@ module HTTP2Next
170
170
  trailers = frame[:payload]
171
171
  return unless trailers.respond_to?(:each)
172
172
 
173
- trailers.each do |field, _|
173
+ trailers.each do |field, _| # rubocop:disable Style/HashEachMethods
174
174
  @_trailers.delete(field)
175
175
  break if @_trailers.empty?
176
176
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HTTP2Next
4
- VERSION = "1.0.1"
4
+ VERSION = "1.0.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http-2-next
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tiago Cardoso
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-10-13 00:00:00.000000000 Z
13
+ date: 2023-12-14 00:00:00.000000000 Z
14
14
  dependencies: []
15
15
  description: Pure-ruby HTTP 2.0 protocol implementation
16
16
  email: