Class: Hyperion::Config::H2Settings

Inherits:
Object
  • Object
show all
Defined in:
lib/hyperion/config.rb

Overview

H2 settings subconfig. RFC 7540 §6.5.2 settings + the new-in-1.7 per-process ‘max_total_streams` admission cap (RFC A7).

Constant Summary collapse

ATTRS =
%i[max_concurrent_streams initial_window_size max_frame_size
max_header_list_size max_total_streams].freeze
AUTO =

2.0 default for ‘max_total_streams`. The literal value `:auto` is a deferred sentinel: `Config#finalize!` resolves it to `max_concurrent_streams × workers × 4` once the worker count is known. Operators wanting the pre-2.0 unbounded behaviour write `:unbounded` (or `nil` after finalize); operators wanting a fixed cap write a positive integer.

:auto
UNBOUNDED =
:unbounded

Instance Method Summary collapse

Constructor Details

#initializeH2Settings

Returns a new instance of H2Settings.



105
106
107
108
109
110
111
# File 'lib/hyperion/config.rb', line 105

def initialize
  @max_concurrent_streams = 128
  @initial_window_size    = 1_048_576
  @max_frame_size         = 1_048_576
  @max_header_list_size   = 65_536
  @max_total_streams      = AUTO # 2.0 default — finalize! resolves it.
end