public HandshakeProcessor(ILogger <HandshakeProcessor> logger, IEventBus eventBus, IDateTimeProvider dateTimeProvider, IRandomNumberGenerator randomNumberGenerator, NodeImplementation nodeImplementation, IPeerBehaviorManager peerBehaviorManager, IInitialBlockDownloadTracker initialBlockDownloadState, IUserAgentBuilder userAgentBuilder, ILocalServiceProvider localServiceProvider, IHeadersTree headersTree, SelfConnectionTracker selfConnectionTracker) : base(logger, eventBus, peerBehaviorManager, isHandshakeAware: true, // we are performing handshake so we want to receive messages before handshake status receiveMessagesOnlyIfHandshaked: false) { _dateTimeProvider = dateTimeProvider; _randomNumberGenerator = randomNumberGenerator; _nodeImplementation = nodeImplementation; _initialBlockDownloadState = initialBlockDownloadState; _userAgentBuilder = userAgentBuilder; _localServiceProvider = localServiceProvider; _headersTree = headersTree; _selfConnectionTracker = selfConnectionTracker; _status = new HandshakeProcessorStatus(this); }
public override bool Enabled => false; // Work in progress, actually disabled public AnnouncerProcessor(ILogger <DataFeederProcessor> logger, IEventBus eventBus, IDateTimeProvider dateTimeProvider, IPeerBehaviorManager peerBehaviorManager, IInitialBlockDownloadTracker ibdState, ILocalServiceProvider localServiceProvider, IChainState chainState, IOptions <BitcoinSettings> options) : base(logger, eventBus, peerBehaviorManager, isHandshakeAware: true, receiveMessagesOnlyIfHandshaked: true) { _dateTimeProvider = dateTimeProvider; _ibdState = ibdState; _localServiceProvider = localServiceProvider; _chainState = chainState; _settings = options.Value; }
public SynchronizationProcessor(ILogger <SynchronizationProcessor> logger, IEventBus eventBus, IDateTimeProvider dateTimeProvider, IPeerBehaviorManager peerBehaviorManager, IConsensusParameters consensusParameters, IInitialBlockDownloadTracker ibdState, IBlockHeaderHashCalculator blockHeaderHashCalculator, ITransactionHashCalculator transactionHashCalculator, IBlockFetcherManager blockFetcherManager, ILocalServiceProvider localServiceProvider, IChainState chainState, IHeaderValidator headerValidator, IBlockValidator blockValidator, IPeriodicWork headerSyncLoop, IOptions <BitcoinSettings> options) : base(logger, eventBus, peerBehaviorManager, isHandshakeAware: true, receiveMessagesOnlyIfHandshaked: true) { _dateTimeProvider = dateTimeProvider; _consensusParameters = consensusParameters; _ibdState = ibdState; _blockHeaderHashCalculator = blockHeaderHashCalculator; _transactionHashCalculator = transactionHashCalculator; _blockFetcherManager = blockFetcherManager; _localServiceProvider = localServiceProvider; _chainState = chainState; _headerValidator = headerValidator; _blockValidator = blockValidator; _headerSyncLoop = headerSyncLoop; _options = options.Value; _minimumChainWork = _options.MinimumChainWork ?? _consensusParameters.MinimumChainWork; if (_minimumChainWork < _consensusParameters.MinimumChainWork) { this.logger.LogWarning($"{nameof(_minimumChainWork)} set below default value of {_consensusParameters.MinimumChainWork}"); } headerSyncLoop.Configure(stopOnException: false, this); }