BitSharp.Esent.EsentChainStateCursor.Defragment C# (CSharp) Method

Defragment() public method

public Defragment ( ) : void
return void
        public void Defragment()
        {
            using (SetSessionContext())
            {
                //int passes = int.MaxValue, seconds = int.MaxValue;
                //Api.JetDefragment(this.jetSession, this.chainStateDbId, "", ref passes, ref seconds, DefragGrbit.BatchStart);

                if (EsentVersion.SupportsWindows81Features)
                {
                    logger.Info("Begin shrinking chain state database");

                    int actualPages;
                    Windows8Api.JetResizeDatabase(this.jetSession, this.chainStateDbId, 0, out actualPages, Windows81Grbits.OnlyShrink);

                    logger.Info($"Finished shrinking chain state database: {(float)actualPages * SystemParameters.DatabasePageSize / 1.MILLION():N0} MB");
                }
            }
        }