# File lib/amq/protocol/client.rb, line 288
        def self.decode(data)
          offset = 0
          version_major = data[offset, 1].unpack(PACK_CHAR).first
          offset += 1
          version_minor = data[offset, 1].unpack(PACK_CHAR).first
          offset += 1
          table_length = Table.length(data[offset, 4])
          server_properties = Table.decode(data[offset, table_length + 4])
          offset += table_length + 4
          length = data[offset, 4].unpack(PACK_UINT32).first
          offset += 4
          mechanisms = data[offset, length]
          offset += length
          length = data[offset, 4].unpack(PACK_UINT32).first
          offset += 4
          locales = data[offset, length]
          offset += length
          self.new(version_major, version_minor, server_properties, mechanisms, locales)
        end