func()

in ecr/stream/chunked_processor.go [165:190]


func (processor *chunkedProcessor) readChunk(bytesBegin int64, part int64) (*Chunk, error) {
	startTime := time.Now()
	buffer := make([]byte, processor.chunkSize)
	size, err := io.ReadFull(processor.reader, buffer)
	if err != nil && err != io.ErrUnexpectedEOF && err != io.EOF {
		return nil, err
	}

	var chunk *Chunk

	if size > 0 {
		chunk = &Chunk{
			Part:       part,
			BytesBegin: bytesBegin,
			BytesEnd:   bytesBegin + int64(size) - 1,
			Bytes:      buffer[0:size],
			ReadTime:   time.Since(startTime),
		}
	}

	if err == io.ErrUnexpectedEOF {
		err = io.EOF
	}

	return chunk, err
}