Method: H2::Client#on_frame
- Defined in:
- lib/h2/client.rb
#on_frame(bytes) ⇒ Object
frame callback for parser: writes bytes to the @socket, and slicing appropriately for given return values
279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 |
# File 'lib/h2/client.rb', line 279 def on_frame bytes on :frame, bytes if ::H2::Client::TCPSocket === socket total = bytes.bytesize loop do n = write_to_socket bytes if n == :wait_writable IO.select nil, socket.selector elsif n < total bytes = bytes.byteslice n, total else break end end else socket.write bytes end socket.flush end |