Class: Hpack::IntegerReader
- Inherits:
-
Object
- Object
- Hpack::IntegerReader
- Defined in:
- lib/hpack/integer_reader.rb
Instance Method Summary collapse
Instance Method Details
#read(length: 7, input: nil, start_with: 0) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/hpack/integer_reader.rb', line 3 def read length: 7, input: nil, start_with: 0 prefix_mask = 0xFF >> (8 - length) result = start_with & prefix_mask return result if result != prefix_mask index = 0 begin next_byte = input.readbyte result += (next_byte & 0b0111_1111) << (7 * index) index += 1 end until next_byte & 0b1000_0000 == 0 result end |