コード例 #1
0
ファイル: HashEntry.cs プロジェクト: jonashouben/ScsLib
        internal virtual async ValueTask <byte[]> ReadBytes(Stream stream, CancellationToken cancellationToken = default)
        {
            stream.Seek(Header.Offset, SeekOrigin.Begin);

            if (Header.Options.HasFlag(HashEntryOption.Compressed))
            {
                using (InflaterInputStream inflater = new InflaterInputStream(stream)
                {
                    IsStreamOwner = false
                })
                {
                    return(await inflater.ReadBytesAsync(Header.Size, cancellationToken).ConfigureAwait(false));
                }
            }
            else
            {
                return(await stream.ReadBytesAsync(Header.Size, cancellationToken).ConfigureAwait(false));
            }
        }