# File lib/amq/protocol/client.rb, line 1839
        def self.decode(data)
          offset = 0
          length = data[offset, 1].unpack(PACK_CHAR).first
          offset += 1
          consumer_tag = data[offset, length]
          offset += length
          delivery_tag = AMQ::Hacks.unpack_64_big_endian(data[offset, 8]).first
          offset += 8
          bit_buffer = data[offset, 1].unpack(PACK_CHAR).first
          offset += 1
          redelivered = (bit_buffer & (1 << 0)) != 0
          length = data[offset, 1].unpack(PACK_CHAR).first
          offset += 1
          exchange = data[offset, length]
          offset += length
          length = data[offset, 1].unpack(PACK_CHAR).first
          offset += 1
          routing_key = data[offset, length]
          offset += length
          self.new(consumer_tag, delivery_tag, redelivered, exchange, routing_key)
        end