Exemplo n.º 1
0
 public SynchronizationProducerModule(ILoggerService loggerService, ISynchronizationGroupParticipationService synchronizationGroupParticipationService,
                                      IBlocksHandlersRegistry blocksHandlersFactory)
     : base(loggerService)
 {
     _synchronizationGroupParticipationService = synchronizationGroupParticipationService;
     _blocksHandlersFactory = blocksHandlersFactory;
 }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        //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();
        }
Exemplo n.º 5
0
 public CommonModule(ILoggerService loggerService, IBlocksHandlersRegistry blocksHandlersFactory, IShardsManager shardsManager) : base(loggerService)
 {
     _blocksHandlersFactory = blocksHandlersFactory;
     _shardsManager         = shardsManager;
 }
Exemplo n.º 6
0
 public StorageModule(ILoggerService loggerService, IBlocksHandlersRegistry blocksHandlersFactory) : base(loggerService)
 {
     _blocksHandlersFactory = blocksHandlersFactory;
 }
Exemplo n.º 7
0
 public TransactionsRegistrationModule(ILoggerService loggerService, IBlocksHandlersRegistry blocksHandlersFactory, ITransactionsRegistryService transactionsRegistryService) : base(loggerService)
 {
     _blocksHandlersFactory       = blocksHandlersFactory;
     _transactionsRegistryService = transactionsRegistryService;
 }