class Protocol::HPACK::Compressor

def write_integer(value, bits)

Returns:
  • (String) - binary string

Parameters:
  • bits (Integer) -- number of available bits
  • value (Integer) -- value to encode
def write_integer(value, bits)
	limit = (1 << bits) - 1
	
	return @buffer << value if value < limit
	
	@buffer << limit unless bits.zero?
	
	value -= limit
	while value >= 128
		@buffer << ((value & 0x7f) + 128)
		value /= 128
	end
	
	@buffer << value
end