in azkustodata/query/v2/iterative_dataset.go [80:111]
func readRoutine(reader *frameReader, d *iterativeDataset) {
loop := true
for loop {
line, err := reader.advance()
if err != nil {
if err != io.EOF {
select {
case <-d.Context().Done():
// When we send data, we always make sure that the context isn't cancelled, so we don't block forever.
case d.jsonData <- err:
}
}
loop = false
} else {
select {
case <-d.Context().Done():
loop = false
case d.jsonData <- line:
}
}
}
if err := reader.close(); err != nil {
select {
case <-d.Context().Done():
case d.jsonData <- err:
}
}
close(d.jsonData)
}