# File lib/amq/protocol/client.rb, line 1798
        def self.decode(data)
          offset = 0
          reply_code = data[offset, 2].unpack(PACK_UINT16).first
          offset += 2
          length = data[offset, 1].unpack(PACK_CHAR).first
          offset += 1
          reply_text = data[offset, length]
          offset += length
          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(reply_code, reply_text, exchange, routing_key)
        end