client.go
func newBuffersFromFiles(files []File) []fileBuffer {
	buffers := make([]fileBuffer, 0, len(files))
	for _, file := range files {
		buffers = append(buffers, newFileBuffer(file))
	}
	return buffers
}
func newBuffersFromFiles(files []File) []fileBuffer {
	buffers := make([]fileBuffer, 0, len(files))
	for _, file := range files {
		buffers = append(buffers, newFileBuffer(file))
	}
	return buffers
}
// newBuffersFromFiles wraps the specified files with a reader
// that caches data into a memory buffer