10. ランダムシーク
public override async Task<int> ReadAsync(
byte[] buffer, int offset, int count,
CancellationToken cancellationToken);
protected abstract Task<Range> LoadAsync(
Stream stream,
Range rangeToLoad,
CancellationToken cancellationToken);
11. ダウンロードした区間をRange型で記憶
public class Range : IComparable<Range>
{
public long Offset;
public long Length;
public int CompareTo(Range other)
{
return (int)(Offset - other.Offset);
}
}
Offset
Length