You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 29, 2024. It is now read-only.
# Writes `string` to the buffer. When the buffer is full or #sync is true the# buffer is flushed to the underlying `io`.# @param string the string to write to the buffer.# @return the number of bytes appended to the buffer.defwrite(string)@write_buffer << stringif@write_buffer.bytesize >= @block_sizeflushendreturnstring.bytesizeend
Specifically here in test/protocol/http2/client.rb it sends the connection preface, but that is too small to fill up the write buffer so it never gets flushed. Hence the following framer.read_connection_preface indefinitely hangs.
Changing the Async::IO::Stream#write to
# Writes `string` to the buffer. When the buffer is full or #sync is true the# buffer is flushed to the underlying `io`.# @param string the string to write to the buffer.# @return the number of bytes appended to the buffer.defwrite(string)@write_buffer << stringif@io.sync || @write_buffer.bytesize >= @block_size# ^^^^^^^^^^^ <-- the changeflushendreturnstring.bytesizeend
fixes it, and the test suite works. Is the unconditional buffering intended?