/// <inheritdoc /> protected override void HashCore(byte[] array, int ibStart, int cbSize) { if (_chunker.TotalBytes == 0) { _lastNode = null; } _session.PushBuffer(array, ibStart, cbSize); }
private int PushBufferInner(byte[] buffer, int startOffset, int count) { checked { using (IChunkerSession inner = _chunker.BeginChunking(FoundChunk)) { inner.PushBuffer(buffer, startOffset, count); } //don't trust the last one ... _chunksSeen.RemoveAt(_chunksSeen.Count - 1); ReportChunks(); ChunkInfo secondToLastChunk = _chunksSeen.Last(); int bytesChunked = (int)(secondToLastChunk.Offset + secondToLastChunk.Size); _chunksSeen.Clear(); _lastPushBaseline += (uint)bytesChunked; return(bytesChunked); } }
/// <inheritdoc /> protected override void HashCore(byte[] array, int ibStart, int cbSize) { _session.PushBuffer(array, ibStart, cbSize); }