Esempio n. 1
0
        public override IByteStream AdjustCapacity(int newCapacity)
        {
            int    offset;
            IChunk chunk = _allocator.Alloc(newCapacity, out offset);

            if (_writerindex > 0)
            {
                System.Buffer.BlockCopy(_chunk.BufferBlock, _chunkoffset, chunk.BufferBlock, offset, _writerindex);
            }
            _chunk.FreeBuffer(_chunkoffset);
            _chunk       = chunk;
            _chunkoffset = offset;
            return(this);
        }