BCNet.Bitcoin.ArchiveBlocks C# (CSharp) Method

ArchiveBlocks() private method

private ArchiveBlocks ( ) : void
return void
        void ArchiveBlocks()
        {
            if (mBlocks.Count > 10000)
            {
                mBlockLock.WaitOne();

                int archiveEnd = mArchiveMarker + 10000;
                List<Block> archive = new List<Block>();
                foreach (Block b in mBlocks)
                {
                    if (b.mHeight >= mArchiveMarker && b.mHeight < archiveEnd)
                    {
                        if( b.mTransactions.Count > 0 )
                            archive.Add(b);
                    }
                }

                if (archive.Count == 10000 || (archive.Count == 9999 && mArchiveMarker == 0))
                {
                    WriteArchive(archive);
                }

                mBlockLock.ReleaseMutex();
            }
        }