ChecksumCalculatingStream
Checksums stream contents as the stream is progressed through.
Limited seek support on read. No seek support on write.
All properties pass through except CanRead,
CanWrite, CanSeek, and
Positionset (get will pass through).
Passes thorugh properties traditionally locked behind seeking (e.g.
Length) regardless of read or write mode, ensuring
expected stream checks are not interrupted and that exceptions only
throw when unsupported behavior is actually attempted. This is done
to maintain existing stream behavior as closely as possible, as this
class is meant to only observe the stream contents as they flow.
public static Stream GetReadStream(Stream stream, AppendChecksumCalculation appendChecksumCalculation)
public static Stream GetWriteStream(Stream stream, AppendChecksumCalculation appendChecksumCalculation)