Class: Protocol::HTTP2::PendingSettings
- Inherits:
-
Object
- Object
- Protocol::HTTP2::PendingSettings
- Defined in:
- lib/protocol/http2/settings_frame.rb
Instance Attribute Summary collapse
-
#current ⇒ Object
readonly
Returns the value of attribute current.
-
#pending ⇒ Object
readonly
Returns the value of attribute pending.
Instance Method Summary collapse
- #acknowledge ⇒ Object
- #append(changes) ⇒ Object
- #enable_connect_protocol ⇒ Object
- #enable_push ⇒ Object
- #header_table_size ⇒ Object
- #initial_window_size ⇒ Object
-
#initialize(current = Settings.new) ⇒ PendingSettings
constructor
A new instance of PendingSettings.
- #maximum_concurrent_streams ⇒ Object
- #maximum_frame_size ⇒ Object
- #maximum_header_list_size ⇒ Object
Constructor Details
#initialize(current = Settings.new) ⇒ PendingSettings
Returns a new instance of PendingSettings.
132 133 134 135 136 137 |
# File 'lib/protocol/http2/settings_frame.rb', line 132 def initialize(current = Settings.new) @current = current @pending = current.dup @queue = [] end |
Instance Attribute Details
#current ⇒ Object (readonly)
Returns the value of attribute current.
139 140 141 |
# File 'lib/protocol/http2/settings_frame.rb', line 139 def current @current end |
#pending ⇒ Object (readonly)
Returns the value of attribute pending.
140 141 142 |
# File 'lib/protocol/http2/settings_frame.rb', line 140 def pending @pending end |
Instance Method Details
#acknowledge ⇒ Object
147 148 149 150 151 152 153 154 155 |
# File 'lib/protocol/http2/settings_frame.rb', line 147 def acknowledge if changes = @queue.shift @current.update(changes) return changes else raise ProtocolError, "Cannot acknowledge settings, no changes pending" end end |
#append(changes) ⇒ Object
142 143 144 145 |
# File 'lib/protocol/http2/settings_frame.rb', line 142 def append(changes) @queue << changes @pending.update(changes) end |
#enable_connect_protocol ⇒ Object
181 182 183 |
# File 'lib/protocol/http2/settings_frame.rb', line 181 def enable_connect_protocol @current.enable_connect_protocol end |
#enable_push ⇒ Object
161 162 163 |
# File 'lib/protocol/http2/settings_frame.rb', line 161 def enable_push @current.enable_push end |
#header_table_size ⇒ Object
157 158 159 |
# File 'lib/protocol/http2/settings_frame.rb', line 157 def header_table_size @current.header_table_size end |
#initial_window_size ⇒ Object
169 170 171 |
# File 'lib/protocol/http2/settings_frame.rb', line 169 def initial_window_size @current.initial_window_size end |
#maximum_concurrent_streams ⇒ Object
165 166 167 |
# File 'lib/protocol/http2/settings_frame.rb', line 165 def maximum_concurrent_streams @current.maximum_concurrent_streams end |
#maximum_frame_size ⇒ Object
173 174 175 |
# File 'lib/protocol/http2/settings_frame.rb', line 173 def maximum_frame_size @current.maximum_frame_size end |
#maximum_header_list_size ⇒ Object
177 178 179 |
# File 'lib/protocol/http2/settings_frame.rb', line 177 def maximum_header_list_size @current.maximum_header_list_size end |