http-2-next 1.0.1 → 1.0.2

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 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: