BitSharp.LevelDb.LevelDbStorageManager.LevelDbStorageManager C# (CSharp) Метод

LevelDbStorageManager() публичный Метод

public LevelDbStorageManager ( string baseDirectory, ulong blocksCacheSize = null, ulong blocksWriteCacheSize = null, ulong blockTxesCacheSize = null, ulong blockTxesWriteCacheSize = null, ulong chainStateCacheSize = null, ulong chainStateWriteCacheSize = null, string blockTxesStorageLocations = null ) : BitSharp.Common
baseDirectory string
blocksCacheSize ulong
blocksWriteCacheSize ulong
blockTxesCacheSize ulong
blockTxesWriteCacheSize ulong
chainStateCacheSize ulong
chainStateWriteCacheSize ulong
blockTxesStorageLocations string
Результат BitSharp.Common
        public LevelDbStorageManager(string baseDirectory,
            ulong? blocksCacheSize = null, ulong? blocksWriteCacheSize = null,
            ulong? blockTxesCacheSize = null, ulong? blockTxesWriteCacheSize = null,
            ulong? chainStateCacheSize = null, ulong? chainStateWriteCacheSize = null,
            string[] blockTxesStorageLocations = null)
        {
            this.baseDirectory = baseDirectory;
            this.blockTxesStorageLocations = blockTxesStorageLocations;

            blockStorage = new Lazy<LevelDb.LevelDbBlockStorage>(() => new LevelDbBlockStorage(this.baseDirectory, blocksCacheSize, blocksWriteCacheSize));

            blockTxesStorage = new Lazy<IBlockTxesStorage>(() =>
            {
                if (blockTxesStorageLocations == null)
                    return new LevelDbBlockTxesStorage(this.baseDirectory, blockTxesCacheSize, blockTxesWriteCacheSize);
                else
                    return new SplitBlockTxesStorage(blockTxesStorageLocations, path => new LevelDbBlockTxesStorage(path, blockTxesCacheSize, blockTxesWriteCacheSize));
            });

            chainStateManager = new Lazy<LevelDbChainStateManager>(() => new LevelDbChainStateManager(this.baseDirectory, chainStateCacheSize, chainStateWriteCacheSize));
            this.memoryStorageManager = new Lazy<MemoryStorageManager>(() =>
            {
                // create memory storage with the unconfirmed txes chain tip already in sync with chain state
                ChainedHeader chainTip;
                using (var handle = OpenChainStateCursor())
                {
                    handle.Item.BeginTransaction(readOnly: true);
                    chainTip = handle.Item.ChainTip;
                }

                var memoryStorageManager = new MemoryStorageManager();
                using (var handle = memoryStorageManager.OpenUnconfirmedTxesCursor())
                {
                    handle.Item.BeginTransaction();
                    handle.Item.ChainTip = chainTip;
                    handle.Item.CommitTransaction();
                }

                return memoryStorageManager;
            });
        }