Module: Biryani

Defined in:
lib/biryani/frame.rb,
lib/biryani/frame.rb,
lib/biryani/hpack.rb,
lib/biryani/state.rb,
lib/biryani/utils.rb,
lib/biryani/server.rb,
lib/biryani/stream.rb,
lib/biryani/window.rb,
lib/biryani/version.rb,
lib/biryani/connection.rb,
lib/biryani/frame/data.rb,
lib/biryani/frame/ping.rb,
lib/biryani/http/error.rb,
lib/biryani/data_buffer.rb,
lib/biryani/hpack/error.rb,
lib/biryani/hpack/field.rb,
lib/biryani/frame/goaway.rb,
lib/biryani/hpack/fields.rb,
lib/biryani/hpack/option.rb,
lib/biryani/hpack/string.rb,
lib/biryani/http/request.rb,
lib/biryani/stream_error.rb,
lib/biryani/frame/headers.rb,
lib/biryani/frame/unknown.rb,
lib/biryani/hpack/decoder.rb,
lib/biryani/hpack/encoder.rb,
lib/biryani/hpack/huffman.rb,
lib/biryani/hpack/integer.rb,
lib/biryani/http/response.rb,
lib/biryani/frame/priority.rb,
lib/biryani/frame/settings.rb,
lib/biryani/streams_context.rb,
lib/biryani/connection_error.rb,
lib/biryani/frame/rst_stream.rb,
lib/biryani/frame/continuation.rb,
lib/biryani/frame/push_promise.rb,
lib/biryani/frame/window_update.rb,
lib/biryani/hpack/dynamic_table.rb

Defined Under Namespace

Modules: ErrorCode, Frame, FrameType, HPACK, HTTP, SettingsID Classes: Connection, ConnectionError, DataBuffer, Server, State, Stream, StreamContext, StreamError, StreamsContext, Window

Constant Summary collapse

VERSION =
'0.0.11'.freeze

Class Method Summary collapse

Class Method Details

.err?(obj) ⇒ Boolean

Parameters:

  • obj (Object)

Returns:

  • (Boolean)


5
6
7
# File 'lib/biryani/utils.rb', line 5

def self.err?(obj)
  obj.is_a?(StreamError) || obj.is_a?(ConnectionError)
end

.unwrap(obj, last_stream_id) ⇒ Frame

Parameters:

Returns:



13
14
15
16
17
18
19
20
21
22
# File 'lib/biryani/utils.rb', line 13

def self.unwrap(obj, last_stream_id)
  case obj
  when ConnectionError
    obj.goaway(last_stream_id)
  when StreamError
    obj.rst_stream
  else
    obj
  end
end