HTTP2::Stream
A registered HTTP/2 stream and its bounded inbound event mailbox.
Constructors
Instance methods
Terminates local work with a caller-selected public error.
:nodoc:
Cancels an active stream with RST_STREAM(CANCEL). An idle stream has not appeared on the wire and is closed locally without sending a reset.
Waits for the next inbound non-DATA frame or decoded field section. Response DATA is available through #body.
Waits for one metadata event, returning nil when the remote message
ends. When timeout is given, raises Connection::TimeoutError
instead of continuing to block once it elapses, without otherwise
disturbing the stream — used by the response monitor to detect an
abandoned response (see HTTP2::Client#monitor_response) while
leaving a reader that is still actively draining the body alone.
:nodoc:
Sends a frame that belongs to this stream through the ordered writer.
Sends DATA while respecting connection and stream flow control. Large buffers are split into bounded writer commands and wire frames.
Streams an IO without rewinding it. The END_STREAM flag is placed on the final nonempty frame, or on one empty DATA frame when the IO is empty.
Encodes ordered name/value pairs with the default field policy.
Encodes and atomically sends an ordered field section.
Enqueues one ordered field section without waiting for the write to
complete. Used only by Client#open_request_stream to release its
per-connection opening_mutex before blocking on a write bounded by
@timeouts.write — see that method's comment for the wire-ordering
argument this depends on.
:nodoc: