Deveel.Data.Store.StoreBase.ExpandDataArea C# (CSharp) Method

ExpandDataArea() private method

private ExpandDataArea ( long minSize ) : long
minSize long
return long
        private long ExpandDataArea(long minSize)
        {
            long endOfDataArea = DataAreaEndOffset;

            // Round all sizes up to the nearest 8
            // We grow only by a small amount if the area is small, and a large amount
            // if the area is large.
            long overGrow = endOfDataArea / 64;
            long d = (overGrow & 0x07L);
            if (d != 0)
                overGrow = overGrow + (8 - d);

            overGrow = System.Math.Min(overGrow, 262144L);
            if (overGrow < 1024)
                overGrow = 1024;

            long growBy = minSize + overGrow;
            long newFileLength = endOfDataArea + growBy;
            SetDataAreaSize(newFileLength);
            return growBy;
        }