private function sendMultiRange($handle, Response $response, $fileInfo, $range) : \Generator
{
foreach ($range->ranges as list($startPos, $endPos)) {
$header = sprintf("--%s\r\nContent-Type: %s\r\nContent-Range: bytes %d-%d/%d\r\n\r\n", $range->boundary, $range->contentType, $startPos, $endPos, $fileInfo->size);
(yield $response->stream($header));
yield from $this->sendSingleRange($handle, $response, $startPos, $endPos);
$response->stream("\r\n");
}
$response->stream("--{$range->boundary}--");
}