private void EnsureCapacity(int size) { BufferSegment segment = BufferManager.GetSegment(size); _segment.CopyTo(segment, _length); m_Position = m_Position - _segment.Offset + segment.Offset; _segment.DecrementUsage(); _segment = segment; }
private void EnsureCapacity(int size) { // return the old segment and get a new, bigger one var newSegment = BufferManager.GetSegment(size); _segment.CopyTo(newSegment, _length); m_Position = m_Position - _segment.Offset + newSegment.Offset; _segment.DecrementUsage(); _segment = newSegment; }