コード例 #1
0
        private async Task LoadBlocksFromDb()
        {
            if (!_initConfig.SynchronizationEnabled)
            {
                return;
            }

            await _blockTree.LoadBlocksFromDb(_runnerCancellation.Token, null).ContinueWith(t =>
            {
                if (t.IsFaulted)
                {
                    if (_logger.IsError)
                    {
                        _logger.Error("Loading blocks from DB failed.", t.Exception);
                    }
                }
                else if (t.IsCanceled)
                {
                    if (_logger.IsWarn)
                    {
                        _logger.Warn("Loading blocks from DB canceled.");
                    }
                }
                else
                {
                    if (_logger.IsInfo)
                    {
                        _logger.Info("Loaded all blocks from DB");
                    }
                }
            });
        }
コード例 #2
0
ファイル: EthereumRunner.cs プロジェクト: vicnaum/nethermind
        private async Task RunBlockTreeInitTasks()
        {
            if (!_initConfig.SynchronizationEnabled)
            {
                return;
            }

            if (!_syncConfig.FastSync)
            {
                await _blockTree.LoadBlocksFromDb(_runnerCancellation.Token, null).ContinueWith(t =>
                {
                    if (t.IsFaulted)
                    {
                        if (_logger.IsError)
                        {
                            _logger.Error("Loading blocks from the DB failed.", t.Exception);
                        }
                    }
                    else if (t.IsCanceled)
                    {
                        if (_logger.IsWarn)
                        {
                            _logger.Warn("Loading blocks from the DB canceled.");
                        }
                    }
                });
            }
            else
            {
                await _blockTree.FixFastSyncGaps(_runnerCancellation.Token).ContinueWith(t =>
                {
                    if (t.IsFaulted)
                    {
                        if (_logger.IsError)
                        {
                            _logger.Error("Fixing gaps in DB failed.", t.Exception);
                        }
                    }
                    else if (t.IsCanceled)
                    {
                        if (_logger.IsWarn)
                        {
                            _logger.Warn("Fixing gaps in DB canceled.");
                        }
                    }
                });
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: fosfuan/nethermind
 public async Task LoadBlocksFromDb(CancellationToken cancellationToken, long?startBlockNumber, int batchSize = BlockTree.DbLoadBatchSize, int maxBlocksToLoad = int.MaxValue)
 {
     await _blockTree.LoadBlocksFromDb(cancellationToken, startBlockNumber, batchSize, maxBlocksToLoad);
 }