public SynchronizationProducerModule(ILoggerService loggerService, ISynchronizationGroupParticipationService synchronizationGroupParticipationService, IBlocksHandlersRegistry blocksHandlersFactory) : base(loggerService) { _synchronizationGroupParticipationService = synchronizationGroupParticipationService; _blocksHandlersFactory = blocksHandlersFactory; }
public PacketHandlingFlow(int iteration, ICoreVerifiersBulkFactory coreVerifiersBulkFactory, IPacketVerifiersRepository packetTypeHandlersFactory, IBlockParsersRepositoriesRepository blockParsersFactoriesRepository, IBlocksHandlersRegistry blocksProcessorFactory, IPerformanceCountersRepository performanceCountersRepository, ILoggerService loggerService) { _coreVerifiers = coreVerifiersBulkFactory.Create(); _log = loggerService.GetLogger($"{nameof(PacketHandlingFlow)}#{iteration}"); _blockParsersFactoriesRepository = blockParsersFactoriesRepository; _chainTypeValidationHandlersFactory = packetTypeHandlersFactory; _blocksHandlersRegistry = blocksProcessorFactory; _decodeBlock = new TransformBlock <byte[], byte[]>((Func <byte[], byte[]>)DecodeMessage, new ExecutionDataflowBlockOptions() { MaxDegreeOfParallelism = 1, BoundedCapacity = 1000000 }); _parseBlock = new TransformBlock <byte[], BlockBase>((Func <byte[], BlockBase>)ParseMessagePacket, new ExecutionDataflowBlockOptions() { MaxDegreeOfParallelism = 1, BoundedCapacity = 1000000 }); _processBlock = new ActionBlock <BlockBase>((Action <BlockBase>)DispatchBlock, new ExecutionDataflowBlockOptions() { MaxDegreeOfParallelism = 1, BoundedCapacity = 1000000 }); _endToEndCountersService = performanceCountersRepository.GetInstance <EndToEndCountersService>(); _decodeBlock.LinkTo(_parseBlock); _parseBlock.LinkTo(_processBlock); }
public PacketsHandler(IPacketVerifiersRepository packetTypeHandlersFactory, IBlockParsersRepositoriesRepository blockParsersFactoriesRepository, IBlocksHandlersRegistry blocksProcessorFactory, ICoreVerifiersBulkFactory coreVerifiersBulkFactory, IPerformanceCountersRepository performanceCountersRepository, ILoggerService loggerService) { _log = loggerService.GetLogger(GetType().Name); _messagePackets = new BlockingCollection <byte[]>(); _endToEndCountersService = performanceCountersRepository.GetInstance <EndToEndCountersService>(); _maxDegreeOfParallelism = 4; _handlingFlows = new PacketHandlingFlow[_maxDegreeOfParallelism]; for (int i = 0; i < _maxDegreeOfParallelism; i++) { _handlingFlows[i] = new PacketHandlingFlow(i, coreVerifiersBulkFactory, packetTypeHandlersFactory, blockParsersFactoriesRepository, blocksProcessorFactory, performanceCountersRepository, loggerService); } }
//private read-only IBlocksProcessor _blocksProcessor public NodeMain(IServerCommunicationServicesRepository communicationServicesFactory, IServerCommunicationServicesRegistry communicationServicesRegistry, IConfigurationService configurationService, IModulesRepository modulesRepository, IPacketsHandler packetsHandler, IBlocksHandlersRegistry blocksProcessorFactory, ILoggerService loggerService, ISigningServicesRepository signingServicesRepository, IStatesRepository statesRepository) { _log = loggerService.GetLogger(GetType().Name); _communicationServicesFactory = communicationServicesFactory; _communicationServicesRegistry = communicationServicesRegistry; _configurationService = configurationService; _modulesRepository = modulesRepository; _packetsHandler = packetsHandler; _signingServicesRepository = signingServicesRepository; _nodeContext = statesRepository.GetInstance <INodeContext>(); _cancellationTokenSource = new CancellationTokenSource(); }
public CommonModule(ILoggerService loggerService, IBlocksHandlersRegistry blocksHandlersFactory, IShardsManager shardsManager) : base(loggerService) { _blocksHandlersFactory = blocksHandlersFactory; _shardsManager = shardsManager; }
public StorageModule(ILoggerService loggerService, IBlocksHandlersRegistry blocksHandlersFactory) : base(loggerService) { _blocksHandlersFactory = blocksHandlersFactory; }
public TransactionsRegistrationModule(ILoggerService loggerService, IBlocksHandlersRegistry blocksHandlersFactory, ITransactionsRegistryService transactionsRegistryService) : base(loggerService) { _blocksHandlersFactory = blocksHandlersFactory; _transactionsRegistryService = transactionsRegistryService; }