/** * Read record header data in one batch. */ func batchReadHeaders( client *as.Client, keyPrefix string, size int, ) { // Batch gets into one call. keys := make([]*as.Key, size) for i := 0; i < size; i++ { keys[i], _ = as.NewKey(*shared.Namespace, *shared.Set, keyPrefix+strconv.Itoa(i+1)) } records, err := client.BatchGetHeader(nil, keys) shared.PanicOnError(err) for i := 0; i < len(records); i++ { key := keys[i] record := records[i] level := asl.ERR generation := 0 expiration := 0 if record != nil && (record.Generation > 0 || record.Expiration > 0) { level = asl.INFO generation = record.Generation expiration = record.Expiration } asl.Logger.LogAtLevel(level, "Record: ns=%s set=%s key=%s generation=%d expiration=%d", key.Namespace(), key.SetName(), key.Value(), generation, expiration) } if len(records) != size { log.Fatalf("Record size mismatch. Expected %d. Received %d.", size, len(records)) } }