cached method

bool cached(
  1. RequestRange requestRange
)

Implementation

bool cached(RequestRange requestRange) {
  if (requestRange.begin == null || requestRange.end == null) {
    return finished;
  }
  int begin = requestRange.begin!;
  int end = requestRange.end! + 1;
  List<CacheFragment> rangesMatched = fragments
      .where((element) =>
          (element.begin >= begin && element.begin < end) || (element.end <= end && element.end > begin) || (element.begin < begin && element.end > end))
      .toList()
        ..sort((a, b) => a.begin - b.begin);
  if (rangesMatched.isEmpty) {
    return false;
  }
  for (CacheFragment range in rangesMatched) {
    if (range.begin > begin) {
      return false;
    }
    begin = range.end;
  }
  return begin >= end;
}