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 /> public override void Initialize() { _chunks.Clear(); _session = _chunker.BeginChunking(SaveChunks); }