Module: Biryani::HPACK::Fields

Defined in:
lib/biryani/hpack/fields.rb

Class Method Summary collapse

Class Method Details

.decode(s, dynamic_table) ⇒ Array

Parameters:

Returns:

  • (Array)


16
17
18
19
20
21
22
23
24
25
26
# File 'lib/biryani/hpack/fields.rb', line 16

def self.decode(s, dynamic_table)
  io = IO::Buffer.for(s)
  cursor = 0
  fields = []
  while cursor < s.bytesize
    field, cursor = Field.decode(io, cursor, dynamic_table)
    fields << field unless field.nil?
  end

  fields
end

.encode(fields, dynamic_table) ⇒ String

Parameters:

Returns:



8
9
10
# File 'lib/biryani/hpack/fields.rb', line 8

def self.encode(fields, dynamic_table)
  fields.each_with_object(''.b) { |nv, acc| acc << Field.encode(nv[0].to_s, nv[1].to_s, dynamic_table) }
end