/// <inheritdoc />
        protected override void HashCore(byte[] array, int ibStart, int cbSize)
        {
            if (_chunker.TotalBytes == 0)
            {
                _lastNode = null;
            }

            _session.PushBuffer(array, ibStart, cbSize);
        }
Esempio n. 2
0
            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);
                }
            }
Esempio n. 3
0
 /// <inheritdoc />
 protected override void HashCore(byte[] array, int ibStart, int cbSize)
 {
     _session.PushBuffer(array, ibStart, cbSize);
 }