code: func DecodeDump(dump []byte, db int, key []byte, expiry int64, d Decoder) error {
  	err := verifyDump(dump)
  	if err != nil {
  		return err
  	}
  
  	decoder := &decode{d, make([]byte, 8), bytes.NewReader(dump[1:])}
  	decoder.event.StartRDB()
  	decoder.event.StartDatabase(db)
  
  	err = decoder.readObject(key, ValueType(dump[0]), expiry)
  
  	decoder.event.EndDatabase(db)
  	decoder.event.EndRDB()
  	return err
  }
docs: // Decode a byte slice from the Redis DUMP command. The dump does not contain the
  // database, key or expiry, so they must be included in the function call (but
  // can be zero values).