Method: HTTP2::Stream#send

Defined in:
lib/http/2/stream.rb

#send(frame) ⇒ Object

Processes outgoing HTTP 2.0 frames. Data frames may be automatically split and buffered based on maximum frame size and current stream flow control window size.

Parameters:

  • frame (Hash)


199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
# File 'lib/http/2/stream.rb', line 199

def send(frame)
  case frame[:type]
  when :data
    # stream state management is maintained in send_data
    return send_data(frame)
  when :window_update
    @local_window += frame[:increment]
  when :priority
    process_priority(frame)
  end

  manage_state(frame) do
    emit(:frame, frame)
  end
end